用C语言 给小学生出加法考试题
题目:连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Notcorrect!”,不给机...
题目:连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。
编程要求:
1. 较好的用户输入输出提示
2. 使用子函数实现两个数相加的测试。此函数的输入参数是两个加数,返回值是用户运算的正确与否(用1或者0表示)。在此函数中首先读入用户输入的加法结果,并与正确结果进行比较。
int AddTest(int a,intb);
附加题:
通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错题数。 展开
编程要求:
1. 较好的用户输入输出提示
2. 使用子函数实现两个数相加的测试。此函数的输入参数是两个加数,返回值是用户运算的正确与否(用1或者0表示)。在此函数中首先读入用户输入的加法结果,并与正确结果进行比较。
int AddTest(int a,intb);
附加题:
通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错题数。 展开
展开全部
#include <stdlib.h>
#include <stdio.h>
int AddTest(int a,int b)
{
int answer;
printf("Please input the answer:");
scanf("%d",&answer);
if(answer==a+b){
printf("Right!\n");
return 1;}
else{
printf("Not correct!\n");
return 0;}
}
int main()
{
int i,j,k,m,sum=0,wsum=10;
for(k=0;k<10;k++){
i = rand()%10+1;
j = rand()%10+1;
printf("i=%d,j=%d\n",i,j);
m = AddTest(i,j);
sum+=m*10;
wsum-=m;
}
printf("The score is %d,and the wrong number is %d\n",sum,wsum);
return 0;
}
四则运算题可以产生随机数之后按其%4+1的结果来控制产生随机的四种运算,其他地方类似
#include <stdio.h>
int AddTest(int a,int b)
{
int answer;
printf("Please input the answer:");
scanf("%d",&answer);
if(answer==a+b){
printf("Right!\n");
return 1;}
else{
printf("Not correct!\n");
return 0;}
}
int main()
{
int i,j,k,m,sum=0,wsum=10;
for(k=0;k<10;k++){
i = rand()%10+1;
j = rand()%10+1;
printf("i=%d,j=%d\n",i,j);
m = AddTest(i,j);
sum+=m*10;
wsum-=m;
}
printf("The score is %d,and the wrong number is %d\n",sum,wsum);
return 0;
}
四则运算题可以产生随机数之后按其%4+1的结果来控制产生随机的四种运算,其他地方类似
展开全部
#include <stdio.h>
#include <time.h>
//设计这个东西的人在乱整
char* o="+-*/";
inline int Test(int a,int b){return a==b;}//这里也要用函数??
inline int max(int a,int b){return a>=b?a:b;}
inline int min(int a,int b){return a<=b?a:b;}
int main()
{
printf("%s","加减乘除四则运算测试!\n");
printf("%s","请在题目后面输入你的结果并按回车!(每题10分!)\n");
int i,mark=0;
for(i=0;i<10;i++)
{
//Generate:
int a,b;
time_t t;
time(&t);
srand(t);
a=rand()%10+1;
time(&t);
srand(t<<rand()>>rand()*20);
b=rand()%10+1;
time(&t);
srand(t);
int ope=o[rand()%4];
int ans;
if(ope==o[0]){ ans=a+b;printf("%d+%d=?\n",a,b);}
else if(ope==o[1])
{
int ma=max(a,b),mi=min(a,b);
a=ma,b=mi;
ans=a-b;
printf("%d-%d=?\n",a,b);
}
else if(ope==o[2]){ ans=a*b;printf("%d*%d=?\n",a,b);}
else
{
while((a%b)) a=rand()%10+1,b=rand()%10+1;
ans=a/b;printf("%d/%d=?\n",a,b);
}
int input;
scanf("%d",&input);
mark+=Test(input,ans)?printf("Right!\n"),10:printf("Not correct!\n"),0;
}
printf("成绩:%d\n",mark);
return 0;
}
改进了:可以根据时间生成随机数
#include <time.h>
//设计这个东西的人在乱整
char* o="+-*/";
inline int Test(int a,int b){return a==b;}//这里也要用函数??
inline int max(int a,int b){return a>=b?a:b;}
inline int min(int a,int b){return a<=b?a:b;}
int main()
{
printf("%s","加减乘除四则运算测试!\n");
printf("%s","请在题目后面输入你的结果并按回车!(每题10分!)\n");
int i,mark=0;
for(i=0;i<10;i++)
{
//Generate:
int a,b;
time_t t;
time(&t);
srand(t);
a=rand()%10+1;
time(&t);
srand(t<<rand()>>rand()*20);
b=rand()%10+1;
time(&t);
srand(t);
int ope=o[rand()%4];
int ans;
if(ope==o[0]){ ans=a+b;printf("%d+%d=?\n",a,b);}
else if(ope==o[1])
{
int ma=max(a,b),mi=min(a,b);
a=ma,b=mi;
ans=a-b;
printf("%d-%d=?\n",a,b);
}
else if(ope==o[2]){ ans=a*b;printf("%d*%d=?\n",a,b);}
else
{
while((a%b)) a=rand()%10+1,b=rand()%10+1;
ans=a/b;printf("%d/%d=?\n",a,b);
}
int input;
scanf("%d",&input);
mark+=Test(input,ans)?printf("Right!\n"),10:printf("Not correct!\n"),0;
}
printf("成绩:%d\n",mark);
return 0;
}
改进了:可以根据时间生成随机数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
?这是啥东西??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询