用C++编写:为训练小学生的算术能力,现请你帮忙设计一个100以内的随机出题程序,每次运行生成100道题。

作者&投稿:梅皇 (若有异议请与网页底部的电邮联系)
用C++编写:为训练小学生的算数能力,现请你帮助设计一个100以内的随机出题程序,每次运行生成100道题...~

这个我会,你说下邮箱.我写个发你

#include
#include
#include
#include
#define N 100
using namespace std;
//随机数提取系统时间作为种子
void rand_seed( )
{
int seed=static_cast(time(0));
srand(seed);
}
//a到b之间的随机数
int rand_int(int a,int b)
{
return a+rand( )%(b-a+1);
}
//主函数
int main( )
{
int i;
int *a = new int[N];
int *b = new int[N];
int *ope = new int[N];
FILE *fp;
fp=fopen("小学数学测试100道.txt","r");
fp=fopen("小学数学测试100道.txt","w");
fprintf(fp,"******Welcom To Use Child_math_Test System******
");
fprintf(fp,"**************欢迎使用数学测试系统**************
");
fprintf(fp,"***************Copyright:Liu Fayu***************
");
rand_seed( );
for(i=0;i<N;i++)
{
int d1,d2,operate;
d1=rand_int(1,N);//操作数1
d2=rand_int(1,N);//操作数2
operate=rand_int(1,4);//运算符:1代表+,2代表-,3代表*,4代表/
switch(operate)
{
case 1:
{
while((d1+d2>100))
{
d1=rand_int(1,N);
d2=rand_int(1,N);
}
break;
}
case 2:
{
while((d1-d2<0))
{
d1=rand_int(1,N);
d2=rand_int(1,N);
}
break;
}
case 3:
{
while((d1*d2>100))
{
d1=rand_int(1,N);
d2=rand_int(1,N);
}
break;
}
case 4:
{
while((d1%d2!=0))
{
d1=rand_int(1,N);
d2=rand_int(1,N);
}
break;
}
}
//存入数组
a[i]=d1;
b[i]=d2;
ope[i]=operate;
//写入文件
fprintf(fp,"%d",i+1);
fprintf(fp," : ");
fprintf(fp,"%d",d1);
switch(operate)
{
case 1:fprintf(fp," + ");break;
case 2:fprintf(fp," - ");break;
case 3:fprintf(fp," x ");break;
case 4:fprintf(fp," ÷ ");break;
}
fprintf(fp,"%d",d2);
fprintf(fp," = ");
fprintf(fp,"
");
}
fclose(fp);
//屏幕显示
cout<<"***********小学算术100道试题!***********
";
for(i=0;i<N;i++)
{
switch(ope[i])
{
case 1:cout<<i+1<<" : "<<a[i]<<" + "<<b[i]<<"="<<endl;break;
case 2:cout<<i+1<<" : "<<a[i]<<" - "<<b[i]<<"="<<endl;break;
case 3:cout<<i+1<<" : "<<a[i]<<" x "<<b[i]<<"="<<endl;break;
case 4:cout<<i+1<<" : "<<a[i]<<" ÷ "<<b[i]<<"="<<endl;break;
}
}
cout<<"******小学算术100道试题已写入文件!******
"<<endl;
//释放空间
delete []a;
delete []b;
delete []ope;
return 0;
}

#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <conio.h>

using std::cin;
using std::cout;
using std::endl;

//计算式 数量
int const Num = 100;
//计算式中 最大数
int const MaxNum = 100;
//每题分数
int const PerMark = 1;
//计算结果最大值
int const MaxResult = 100;
//计算结果最小值
int const MinResult = 0;

enum enOp{Add,Subtract,Multiply,Divide};

//将 枚举类型转换为字符类型,以便输出。
char enum2char(enOp op)
{
switch (op)
{
case Add:
return '+';
case Subtract:
return '-';
case Multiply:
return 'x';
case Divide:
return '/';
}
return ' ';
}

//计算生成表达式的正确结果。
int myResult(int left,int right,enOp op)
{
switch (op)
{
case Add:
return left+right;
case Subtract:
return left-right;
case Multiply:
return left *right;
case Divide:
return left/ right;
}
return 0;
}

//检查生成计算式的正确与否。其中 减法结果不能为负数,除法结果不能为小数。
bool checkFormula(int left,int right,enOp op)
{
switch (op)
{
case Add:
{
return true;
}
case Subtract:
{
if(left < right)
return false;
return true;
}
case Multiply:
{
return true;
}
case Divide:
{
if(right == 0)
return false;
if(double(left/right) != double(double(left)/double(right)))
return false;
return true;
}
}
return false;
}

//依据给定操作符,生成符合条件的表达式。
void getFormula(int* left,int*right,enOp op)
{
//srand(time(NULL));
for(;;)
{
*left = 1 + rand() % MaxNum;
*right = 1 + rand() % MaxNum;
if(checkFormula(*left,*right,op) && myResult(*left,*right,op)<= MaxResult && myResult(*left,*right,op)>= MinResult)
break;
}
}

int main()
{
//操作符左值
int left[Num];
//操作符右值
int right[Num];
//用户输入计算结果
int result[Num];
//操作符 +-*/
enOp oper[Num];
//正确答案个数
int answerRight = 0;

cout<<"正在生成,请稍等。"<<endl;
//随机种子
srand(time(NULL));
//开始生成计算表达式。
for(int i = 0;i<Num;i++)
{
//srand( (unsigned)time(NULL));
//操作符
oper[i] = enOp(rand()%4);
getFormula(&left[i],&right[i],oper[i]);
}

cout<<"生成计算式完成,开始答题!"<<endl;

//输出表达式,让用户答题
for(int i = 0;i<Num;i++)
{
//输出表达式
cout<<"第 "<<i+1<<" 题: \n";
cout<<left[i]<<' '<<enum2char(oper[i])<<' '<<right[i]<< " = ";
//获取用户答案
cin>>result[i];
//比对用户答案是否正确,正确输出 right,answerRigth加一,否则输出not correct。
if(result[i] == myResult(left[i],right[i],oper[i]))
{
cout<<"Right!\n";
answerRight++;
}
else
{
cout<<"Not correct!\n";
}
}

//全部答题完毕,输出正确答案个数及得分。
cout<<"终止答题,共 "<<Num<<" 题,每题 "<<PerMark<<" 分 ,答对 "<<answerRight<<" 题,得分 :"
<<answerRight*PerMark<<" 分。";

//屏幕停止。
getch();

return 0;
}

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;

void main()
{
for(int i=0;i<100;i++)
{
srand(time(NULL)+i); //初始化随机种子
int a,b,c;
a=rand()%100+1;
b=rand()%100+1;
c=rand()%4;
switch(c)
{
case 0:cout<<a<<"+"<<b<<"="<<endl;break;
case 1:cout<<a<<"—"<<b<<"="<<endl;break;
case 2:cout<<a<<"×"<<b<<"="<<endl;break;
case 3:cout<<a<<"÷"<<b<<"="<<endl;break;
default:cout<<"Unknown Error!"<<endl;break;
}
}
//程序缺陷:没有判断整除和被减数大于减数问题
//没有写入文件和给出问题答案
//时间有限,仅供参考
}

#include<cstdio>
#include<ctime>
#include<cstdlib>

int a, b, c;

int main()
{
freopen("a.txt", "w", stdout);
srand(time(0));
a = rand() % 100 + 1;
b = rand() % 100 + 1;
c = rand() % 4 + 1;
printf("%d", a);
switch (c)
{
case 1 : printf(" + "); break;
case 2 : printf(" - "); break;
case 3 : printf(" * "); break;
case 4 : printf(" ÷ "); break;
}
printf("%d = ?", b);
return 0;
}
比较简单吧,如果还有其他条件限制的话,可以自行修改,也可以找我修改~

用javaScript与HTML编写一个小游戏程序,为小学生算术运算题在娱乐中完成。2.可设定在指定4.随机产生一道给500块钱我替你做. 没分怎么

产生随机数啊,很简单的,可是我不会C++


用C++编写:为训练小学生的算术能力,现请你帮忙设计一个100以内的随机出 ...
} \/\/检查生成计算式的正确与否。其中 减法结果不能为负数,除法结果不能为小数。bool checkFormula(int left,int right,enOp op){ switch (op){ case Add:{ return true;} case Subtract:{ if(left < right)return false;return true;} case Multiply:{ return true;} case Divide:{ if(rig...

C语言实践训练内容简介
C语言实践训练是一本针对本科生C语言程序设计课程和全国计算机等级考试C语言上机考试编写的实用教材,旨在通过逐步深入的方式,提升读者的C语言实际编程技能。该书分为三个部分,第一篇是“实验与上机指导”。它以C语言语法的总结为基础,共包含9章。前8章逐步引导读者进行实验,从基础的题目和要求开始,...

如何编写C语言儿童100以内的加减乘除法游戏训练程序
程序如下: #include<stdio.h> include<stdlib.h> void main(){ int a[100];int i=0,j,n;int x,count=0;int re,re1;for(j=0;j<=99;){ n=rand();if(n>0&&n<100){ a[j]=n;j++;} } loop: printf("\\t\\t***\\n");printf("\\t\\t* 菜单 *\\n");printf("\\t\\t...

C语言实训心得
通过这次C语言实训,提高了我掌握和利用C语言进行程设计的能力, 而且进一步理解和运用结构化程设计的思想和方法。初步掌握了开发一个小型实用系统的基本方法。学会了调试一个较长程序的基本方法。学会了利用流程图或N-S图表示算法。掌握了书写程设计开发文档的能力.为以后的实训打下坚实的基础。

C语言课程设计,打字训练游戏,只训练英文单词,随机读取文章到屏幕上...
大部分功能都实现了,显示计时和随机读取如果你想写的话,你可以用getlocaltime显示计时,随机读取可以随机读取文件或者随机行等等#include<stdio.h>#include<windows.h>#include<conio.h>int main(){ FILE *fp; char a[999]={0},b[999]={0}; int i,j,n=0,s=0; fp=fopen("test....

关于C语言训练习题
1.定义一个输出函数 viod printMsg(char* msg1,int num1,char* msg2, int num2){ int i;for(i =0;i <num1;i++){ printf("%s",msg1);} 第二个信息可以复制上面的,手机打的代码,不方便 } 2.和第一题类似,定义一个函数,然后循环调用。3.函数嵌套调用 思路:定义one_three函数,...

C语言 算法训练 Lift and Throw 求答案带详细注解
\/\/初始化为0,表示a[i]所举起的人int a[4] = {3, 3, 3, 3}; \/\/初始化为3,表人的状态,这里a对应的二进制为0011,后三位分别是三个动作:抛出,举起,移动。0(无意义)0(不可抛出)1(未进行举起)1(未进行移动)。这道题中,a只有六个可能值:0(0000)、1(0001)...

朱承学的"C语言程序设计实践训练教程"是什么时候出版的?
这是一本关于C语言程序设计实践的教程,由朱承学编著。它由中国水利水电出版社出版发行,具体日期为2004年9月。本书的ISBN号码为9787508421315,也可以通过十位数7508421310进行识别。这本书共分为188页,内容充实,厚度大约为0.305公斤。对于有兴趣学习C语言的读者来说,它的定价是人民币18.00元,是一本...

二级C语言程序设计:考题解析、达标训练和应试指南内容简介
专为全国计算机等级考试二级C语言程序设计而设计的《二级C语言程序设计:考题解析、达标训练和应试指南》是一本旨在帮助考生轻松通过考试的实用指南。该书依据2005年4月实施的考试大纲进行编写,全方位覆盖考试流程。书中详细内容包括:C语言考试要点的精要讲解,典型考题的深度解析,同步练习和精准答案,上机...

C语言实践训练图书目录
这本书的目录涵盖了C语言的全面实践训练,分为三大部分:理论实践、实践提高和习题解答。在第一部分“实验与上机指导”中,第1章介绍了C语言的基础,包括数据类型、标识符、输入输出、运算符、结构化程序设计,以及一系列上机实验,帮助读者巩固理论知识。第2章至第9章分别讲解了数组、函数、编译预处理...

乔口区13988863408: c++编写:为训练小学生的算术能力,现请你帮忙设计一个100以内的随机出题程序,每次运行生成100道题.
才旦固胰酶: 用javaScript与HTML编写一个小游戏程序,为小学生算术运算题在娱乐中完成.2.可设定在指定4.随机产生一道给500块钱我替你做. 没分怎么

乔口区13988863408: c++小学生算数系统 -
才旦固胰酶: 按你的要求给你写了一个,代码贴在下面,并附上注释,希望你满意:#include <iostream>#include <ctime> using namespace std; void PrintResult(int score); //输出结果 int Expression(int a, int b, int opera); //转换为算式显示并返回正确结果 ...

乔口区13988863408: c++程序设计 小学生心算系统 -
才旦固胰酶: #include#include /*2、编译预处理头文件stdlib.h */ #include /*1、问题描述: 通过程序实现两位数以内的小学生四则运算(加、减、乘、除). 如果输入的结果正确,则显示“YOU ARE GOOD”否则显示“YOU TRY AGAIN ”. 4、测试数据: ...

乔口区13988863408: C++编写程序实现小学生数学测验功能 -
才旦固胰酶: 参考实例源码如下: //#include <stdlib.h> #include <iostream> using namespace std; int main() {int i,j,k,l=0,n;cout<<"小学数学测试"<<endl;cout<<"请选择想测试的题型:1.+ 2.- 3.* 4./:";cin>>i; if(i==1){cout<<"请输入测试题的个数:...

乔口区13988863408: C++高手求助
才旦固胰酶: #include <iostream> #include <random> #include <time.h> int main() { FILE *fw = fopen("C:\\Problems.txt", "wb"); const char head[] = {0xff, 0xfe}; fwrite(head, 2, 1, fw); srand(time(NULL)); const wchar_t opt[] = L"+—*÷"; for (int i = 0; i < 100; ...

乔口区13988863408: 用c++编一个小学生100以内的加减乘除法运算,随机生成20个,减法不能出现负数,再批改 -
才旦固胰酶: #include <iostream.h>#include <cstdlib>#include <ctime> class calculate { int iA ; int iB ; char nOperator ; public: void Rand_A () ; // 随机产生第一个操作数 void Rand_B () ; // 随机产生第二个操作数 void Rand_Operator () ; //随机产生...

乔口区13988863408: C++小学生加减运算程序例题 -
才旦固胰酶: 自己首先从控制台输入一些加减信息,提示输入 利用SWITCH 做各种情况 SWITCH 里面在嵌套一个while来判断答案是否正确 如果正确不执行while 如果错误则执行whilie , cout<<"Error,再想想" ,在cin>> 输入,直到输入正确才跳出while 的熏昏循环 其他的类推相信楼主自己可以解决

乔口区13988863408: 一到十加减乘除运算训练系统,C++,用主函数和子函数 -
才旦固胰酶: #includeusing namespace std; int jiafa() { int a,b; cout<<"请输入那个数"< cin>>a>>b; return (a+b);} int jianfa() { int a,b; cout<<" 请输入那个数"< cin>>a>>b; return (a-b); } int chengfa() { int a,b; cout<<"请输入那个数"< cin>>a>>b; return (a*b);...

乔口区13988863408: C++编写程序实现算术计算器,包含加减乘除,乘方,阶乘.求大神怎么写这个代码? -
才旦固胰酶: #include<iostream>#include<cmath>#include<string>#include<iomanip>using namespace std;void menu();//位于calculate函数后面的菜单函数声明void guide();//位于主函数后面的指导函数的声明double D_Operate(double x,char op,...

乔口区13988863408: 编写一个算术测试小软件,用来训练小学生的算术能力.程序由3个类组成,其中Teacher类对象负责给出算术 -
才旦固胰酶: import java.awt.*; import javax.swing.*; import java.awt.event.*;public class Teacher { int numberOne,numberTwo; String operator=""; boolean right;public int giveNumberOne(int n){numberOne=(int)(Math.random()*n)+1;return numberOne; }...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网