小学生数学测试软件
题目10:小学生数学测试软件1)可选择题型(+,-,×);2)两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数;3)每次在输入...
题目10:小学生数学测试软件
1) 可选择题型(+,-,×);
2) 两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数;
3) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;
4) 最后给出评分。
用C语言编写,跪求,很急很急!!!!!马上要交了啊!各位C语言的编程大师们,帮帮忙!!!! 展开
1) 可选择题型(+,-,×);
2) 两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数;
3) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;
4) 最后给出评分。
用C语言编写,跪求,很急很急!!!!!马上要交了啊!各位C语言的编程大师们,帮帮忙!!!! 展开
5个回答
展开全部
其实我和你一样,是刚刚这学期学c的,希望能帮到你
在vc++6.0能运行通过
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int menu_choice()
{
int choice;
printf("\t\t\t小学生数学测试软件\n");
printf("\t\t\t请选择题型\n");
printf("\t\t\t-1- +\n");
printf("\t\t\t-2- -\n");
printf("\t\t\t-3- *\n");
printf("\t\t\t-4- 退出\n");
printf("\t\t\t请选择>");
scanf("%d", &choice);
return choice;
}
void add()
{
int n,m,s,cnt,right,q=0;
int result[1001],*p = result;
printf("请输入你要回答的题目数:");
scanf("%d", &s);
for(cnt=0; cnt<s; ++cnt,p+=2)
{
srand(time(NULL));
m = 10 +(int)rand() % 90;
n = 10 +(int)rand() % 90;
printf("%d + %d = ",n,m);
scanf("%d", &right);
if((*p=(m+n)) == (*(p+1)=right))
q++;
}
printf("%-13s -%13s %13s\n","正确答案","你的答案","评价");
for(cnt=0,p=result; cnt<s; cnt++)
{
printf("%-13d %11d %13s\n",*p,*(p+1),*p==*(p+1)?"正确":"错误");
p+=2;
}
printf("你总共答了%d题,答对了%d题,得分%.2f分",s,q,(float)q/s*100.0);
printf("\n\n\n");
}
void jian()
{
int n,m,s,cnt,right,q=0;
int temp;
int result[1001],*p = result;
printf("请输入你要回答的题目数:\n");
scanf("%d", &s);
for(cnt=0; cnt<s; ++cnt,p+=2)
{
srand(time(NULL));
m = 10 +(int)rand() % 90;
n = 10 +(int)rand() % 90;
if(m<n)
{
temp = m;
m = n;
n = temp;
}
printf("%d - %d = ",m,n);
scanf("%d", &right);
if((*p=(m-n)) == (*(p+1)=right))
q++;
}
printf("%-13s -%13s %13s\n","正确答案","你的答案","评价");
for(cnt=0,p=result; cnt<s; cnt++)
{
printf("%-13d %11d %13s\n",*p,*(p+1),*p==*(p+1)?"正确":"错误");
p+=2;
}
printf("你总共答了%d题,答对了%d题,得分%.2f分",s,q,(float)q/s*100.0);
printf("\n\n\n");
}
void cheng()
{
int n,m,s,cnt,right,q=0;
int result[1001],*p = result;
printf("请输入你要回答的题目数:\n");
scanf("%d", &s);
for(cnt=0; cnt<s; ++cnt,p+=2)
{
srand(time(NULL));
m = 1 +(int)rand() % 9;
n = 1 +(int)rand() % 9;
printf("%d * %d = ",n,m);
scanf("%d", &right);
if((*p=(m*n)) == (*(p+1)=right))
q++;
}
printf("%-13s -%13s %13s\n","正确答案","你的答案","评价");
for(cnt=0,p=result; cnt<s; cnt++)
{
printf("%-13d %11d %13s\n",*p,*(p+1),*p==*(p+1)?"正确":"错误");
p+=2;
}
printf("你总共答了%d题,答对了%d题,得分%.2f分",s,q,(float)q/s*100.0);
printf("\n\n\n");
}
int main(void)
{
int n;
while((n=menu_choice()) != 4)
{
if( 1 == n )
add();
else if( 2 == n)
jian();
else if( 3 == n)
cheng();
}
printf("谢谢使用\n");
return 0;
}
在vc++6.0能运行通过
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int menu_choice()
{
int choice;
printf("\t\t\t小学生数学测试软件\n");
printf("\t\t\t请选择题型\n");
printf("\t\t\t-1- +\n");
printf("\t\t\t-2- -\n");
printf("\t\t\t-3- *\n");
printf("\t\t\t-4- 退出\n");
printf("\t\t\t请选择>");
scanf("%d", &choice);
return choice;
}
void add()
{
int n,m,s,cnt,right,q=0;
int result[1001],*p = result;
printf("请输入你要回答的题目数:");
scanf("%d", &s);
for(cnt=0; cnt<s; ++cnt,p+=2)
{
srand(time(NULL));
m = 10 +(int)rand() % 90;
n = 10 +(int)rand() % 90;
printf("%d + %d = ",n,m);
scanf("%d", &right);
if((*p=(m+n)) == (*(p+1)=right))
q++;
}
printf("%-13s -%13s %13s\n","正确答案","你的答案","评价");
for(cnt=0,p=result; cnt<s; cnt++)
{
printf("%-13d %11d %13s\n",*p,*(p+1),*p==*(p+1)?"正确":"错误");
p+=2;
}
printf("你总共答了%d题,答对了%d题,得分%.2f分",s,q,(float)q/s*100.0);
printf("\n\n\n");
}
void jian()
{
int n,m,s,cnt,right,q=0;
int temp;
int result[1001],*p = result;
printf("请输入你要回答的题目数:\n");
scanf("%d", &s);
for(cnt=0; cnt<s; ++cnt,p+=2)
{
srand(time(NULL));
m = 10 +(int)rand() % 90;
n = 10 +(int)rand() % 90;
if(m<n)
{
temp = m;
m = n;
n = temp;
}
printf("%d - %d = ",m,n);
scanf("%d", &right);
if((*p=(m-n)) == (*(p+1)=right))
q++;
}
printf("%-13s -%13s %13s\n","正确答案","你的答案","评价");
for(cnt=0,p=result; cnt<s; cnt++)
{
printf("%-13d %11d %13s\n",*p,*(p+1),*p==*(p+1)?"正确":"错误");
p+=2;
}
printf("你总共答了%d题,答对了%d题,得分%.2f分",s,q,(float)q/s*100.0);
printf("\n\n\n");
}
void cheng()
{
int n,m,s,cnt,right,q=0;
int result[1001],*p = result;
printf("请输入你要回答的题目数:\n");
scanf("%d", &s);
for(cnt=0; cnt<s; ++cnt,p+=2)
{
srand(time(NULL));
m = 1 +(int)rand() % 9;
n = 1 +(int)rand() % 9;
printf("%d * %d = ",n,m);
scanf("%d", &right);
if((*p=(m*n)) == (*(p+1)=right))
q++;
}
printf("%-13s -%13s %13s\n","正确答案","你的答案","评价");
for(cnt=0,p=result; cnt<s; cnt++)
{
printf("%-13d %11d %13s\n",*p,*(p+1),*p==*(p+1)?"正确":"错误");
p+=2;
}
printf("你总共答了%d题,答对了%d题,得分%.2f分",s,q,(float)q/s*100.0);
printf("\n\n\n");
}
int main(void)
{
int n;
while((n=menu_choice()) != 4)
{
if( 1 == n )
add();
else if( 2 == n)
jian();
else if( 3 == n)
cheng();
}
printf("谢谢使用\n");
return 0;
}
展开全部
#include<stdio.h>
#include<windows.h>
#include<math.h>
double EPS=10E-6;
double sum(double a,double b)
{
return a+b;
}
double sub(double a,double b)
{
return a-b;
}
double mul(double a,double b)
{
return a*b;
}
double divv(double a,double b)
{
return a/b;
}
int rem(int a , int b)
{
return a%b;
}
int addnumber(int c,int d)
{
int sum=0;
for(int i=c;i<=d;i++)
{
sum+=i;
}
return sum;
}
int factor(int n)
{
int f=1;
for(int i=1;i<=n;i++)
{
f*=i;
}
return f;
}
void displaymenu()
{
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n");
printf("*############高级计算器############* \n");
printf("************************************ \n");
printf("* ①加法运算 * \n");
printf("* ②减法运算 * \n");
printf("* ③乘法运算 * \n");
printf("* ④除法运算 * \n");
printf("* ⑤取余运算 * \n");
printf("* ⑥累加运算 * \n");
printf("* ⑦阶乘运算 * \n");
printf("* ⊙结束运算 * \n");
printf("************************************ \n");
printf("************************************ \n");
}
void main()
{
int c,d; /*用于做四则运算的两个数值的说明*/
double a,b; /*用来做累加函数的两个参数值的说明*/
int intresult;
double result; /*用于保存表单运算中函数的返回值*/
int choice;
displaymenu();/*保存用户选择项目菜单项*/
while(1)
{
printf("请选择你所进行运算项目的符号:");
scanf("%d",&choice);
switch(choice)
{
case 1: /*加法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sum(a,b);
printf("%lf+%lf的计算结果是:%lf\n",a,b,result);
break;
case 2: /*减法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sub(a,b);
printf("%lf-%lf的计算结果是:%lf\n",a,b,result);
break;
case 3: /*乘法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=mul(a,b);
printf("%lf*%lf的计算结果是:%lf\n",a,b,result);
break;
case 4: /*除法计算*/
{
scanf("%lf%lf",&a,&b);
if(b-0.0<EPS) printf("数字错误\n");
else
{
printf("请输入两个数字:");
result=divv(a,b);
printf("%lf/%lf的计算结果是:%lf\n",a,b,result);
}
break;
}
case 5: /*取余计算*/
printf("请输入两个数字:");
scanf("%d%d",&c,&d);
result=rem(c,d);
printf("%d % %d的计算结果是:%d\n",c,d,result);
break;
case 6: /*累加计算*/
printf("请输入两个整数");
scanf("%d%d",&c,&d);
intresult=addnumber(c,d);
printf("%d-%d的累加计算结果是:%d\n",c,d,intresult);
break;
case 7: //阶乘计算
{
printf("请输入一个大于0小于10的整数字");
scanf("%d",&c);
if(c<0||c>10)
{
printf("请输入一个大于0小于10的整数字,数据错误。\n");
break;
}
intresult=factor(c);
printf("%d的阶乘计算结果是:%d\n",c,intresult);
break;
}
case 0:
printf("谢谢使用。欢迎下次再用。\n");
return ;
default:
printf("选择错误,程序结束\n");
break;
}
}
}
#include<windows.h>
#include<math.h>
double EPS=10E-6;
double sum(double a,double b)
{
return a+b;
}
double sub(double a,double b)
{
return a-b;
}
double mul(double a,double b)
{
return a*b;
}
double divv(double a,double b)
{
return a/b;
}
int rem(int a , int b)
{
return a%b;
}
int addnumber(int c,int d)
{
int sum=0;
for(int i=c;i<=d;i++)
{
sum+=i;
}
return sum;
}
int factor(int n)
{
int f=1;
for(int i=1;i<=n;i++)
{
f*=i;
}
return f;
}
void displaymenu()
{
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n");
printf("*############高级计算器############* \n");
printf("************************************ \n");
printf("* ①加法运算 * \n");
printf("* ②减法运算 * \n");
printf("* ③乘法运算 * \n");
printf("* ④除法运算 * \n");
printf("* ⑤取余运算 * \n");
printf("* ⑥累加运算 * \n");
printf("* ⑦阶乘运算 * \n");
printf("* ⊙结束运算 * \n");
printf("************************************ \n");
printf("************************************ \n");
}
void main()
{
int c,d; /*用于做四则运算的两个数值的说明*/
double a,b; /*用来做累加函数的两个参数值的说明*/
int intresult;
double result; /*用于保存表单运算中函数的返回值*/
int choice;
displaymenu();/*保存用户选择项目菜单项*/
while(1)
{
printf("请选择你所进行运算项目的符号:");
scanf("%d",&choice);
switch(choice)
{
case 1: /*加法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sum(a,b);
printf("%lf+%lf的计算结果是:%lf\n",a,b,result);
break;
case 2: /*减法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sub(a,b);
printf("%lf-%lf的计算结果是:%lf\n",a,b,result);
break;
case 3: /*乘法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=mul(a,b);
printf("%lf*%lf的计算结果是:%lf\n",a,b,result);
break;
case 4: /*除法计算*/
{
scanf("%lf%lf",&a,&b);
if(b-0.0<EPS) printf("数字错误\n");
else
{
printf("请输入两个数字:");
result=divv(a,b);
printf("%lf/%lf的计算结果是:%lf\n",a,b,result);
}
break;
}
case 5: /*取余计算*/
printf("请输入两个数字:");
scanf("%d%d",&c,&d);
result=rem(c,d);
printf("%d % %d的计算结果是:%d\n",c,d,result);
break;
case 6: /*累加计算*/
printf("请输入两个整数");
scanf("%d%d",&c,&d);
intresult=addnumber(c,d);
printf("%d-%d的累加计算结果是:%d\n",c,d,intresult);
break;
case 7: //阶乘计算
{
printf("请输入一个大于0小于10的整数字");
scanf("%d",&c);
if(c<0||c>10)
{
printf("请输入一个大于0小于10的整数字,数据错误。\n");
break;
}
intresult=factor(c);
printf("%d的阶乘计算结果是:%d\n",c,intresult);
break;
}
case 0:
printf("谢谢使用。欢迎下次再用。\n");
return ;
default:
printf("选择错误,程序结束\n");
break;
}
}
}
追问
这个不行啊,看清题目啊。
追答
我觉得我这个程序很不错。没有按照你的来写的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-06-11
展开全部
//vc 6.0调试通过
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int add(int x,int y)
{return x+y;}
int sub(int x,int y)
{return x-y;}
int mul(int x,int y)
{return x*y;}
void fun(char f)
{
int n,x,y,z,t,result,sum=0;
srand((unsigned)time(NULL));
printf("请选择答题的个数:\n");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
x=rand()%10;
y=rand()%10;
if(x<y && f=='-')
{t=x;x=y;y=t;}
if(f=='*')
{while(!x){x=rand()%10;}
while(!y){y=rand()%10;}}
printf("%d %c %d =",x,f,y);
scanf("%d",&z);
switch(f)
{
case '+':
result=add(x,y);break;
case '-':
result=sub(x,y);break;
case '*':
result=mul(x,y);break;
}
if(result==z)
{printf("正确!\n");sum++;}
else
printf("错误!应该是%d\n",result);
}
printf("\n正确率为%f%%\n/////////////////////////////////\n\n",100.0*sum/n);
fflush(stdin);
}
void main()
{
printf("/////////////////////////////////\n");
printf(" 小学生数学测试软件\n");
printf("//////////////////////////////////\n\n");
char ch;
while(1)
{
printf("请选择题型--加(+),减(-),乘(*),退出(0): ");
ch=getchar();
if(ch=='+'||ch=='-'||ch=='*')
fun(ch);
else if(ch=='0')
exit(0);
else
printf("错误!\n");
}
}
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int add(int x,int y)
{return x+y;}
int sub(int x,int y)
{return x-y;}
int mul(int x,int y)
{return x*y;}
void fun(char f)
{
int n,x,y,z,t,result,sum=0;
srand((unsigned)time(NULL));
printf("请选择答题的个数:\n");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
x=rand()%10;
y=rand()%10;
if(x<y && f=='-')
{t=x;x=y;y=t;}
if(f=='*')
{while(!x){x=rand()%10;}
while(!y){y=rand()%10;}}
printf("%d %c %d =",x,f,y);
scanf("%d",&z);
switch(f)
{
case '+':
result=add(x,y);break;
case '-':
result=sub(x,y);break;
case '*':
result=mul(x,y);break;
}
if(result==z)
{printf("正确!\n");sum++;}
else
printf("错误!应该是%d\n",result);
}
printf("\n正确率为%f%%\n/////////////////////////////////\n\n",100.0*sum/n);
fflush(stdin);
}
void main()
{
printf("/////////////////////////////////\n");
printf(" 小学生数学测试软件\n");
printf("//////////////////////////////////\n\n");
char ch;
while(1)
{
printf("请选择题型--加(+),减(-),乘(*),退出(0): ");
ch=getchar();
if(ch=='+'||ch=='-'||ch=='*')
fun(ch);
else if(ch=='0')
exit(0);
else
printf("错误!\n");
}
}
追问
你可不可以改改?现在非常急啊,还有两天就交了。需要在Turbo C 2.0中运行。帮帮忙啊,谢谢啦!!!!!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询