小学生四则运算在线答题

实验要求:

1:实现在线答题;

2:答题结束后,可以判断对错;

3:并将错题的结果保存起来。

实验思路:

     将加减乘除在程序中分开列出,每一次答题可以选择四则运算中的一项,为了小学生更好的记忆,每一次出题为10道,可以更好的吸收。

实验代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
float again_chu(int m,int n,int j)
{
float i,b;
m=rand()%100;n=rand()%99+1;
b=(int)(1000*m/(float)n)/1000.0; //取结果b小数点后三位
if(b>0)
{
printf("%d/%d=",m,n);scanf("%f",&i);
if(i==b){printf("恭喜您答对了\n");j++;}
else printf("答错了,再接再厉\n");
}else again_chu(m,n,j);
return 0;
}
int jia(int m,int n) //加法函数
{
int i,j=0,k; //j用于记录正确题数
srand(time(0));
for(k=0;k<10;k++)
{
m=rand()%100;n=rand()%100;
printf("%d+%d=",m,n);scanf("%d",&i);
if(i==(m+n)){printf("恭喜您答对了\n");j++;}
else printf("答错了,再接再厉\n");
}printf("做对了%d个\n",j);
return 0;
}
int jian(int m,int n) //减法函数
{
int i,j=0,k;
srand(time(0));
for(k=0;k<10;k++)
{
m=rand()%100;n=rand()%100;
printf("%d-%d=",m,n);scanf("%d",&i);
if(i==(m-n)){printf("恭喜您答对了\n");j++;}
else printf("答错了,再接再厉\n");
}printf("做对了%d个\n",j);
return 0;
}
int cheng(int m,int n) //乘法函数
{
int i,j=0,k;
srand(time(0));
for(k=0;k<10;k++)
{
m=rand()%100;n=rand()%100;
printf("%d*%d=",m,n);scanf("%d",&i);
if(i==(m*n)){printf("恭喜您答对了\n");j++;}
else printf("答错了,再接再厉\n");
}printf("做对了%d个\n",j);
return 0;
}
float chu(int m,int n) //除法函数
{
int j=0,k;float i,b;
srand(time(0));
printf("用去尾法取小数点后三位:如1/6=0.166\n");
for(k=0;k<10
;k++)
{
m=rand()%100;n=rand()%99+1;
b=(int)(1000*m/(float)n)/1000.0;
if(b>0)
{
printf("%d/%d=",m,n);scanf("%f",&i);
if(i==b){printf("恭喜您答对了\n");j++;}
else printf("答错了,再接再厉\n");
}
else again_chu(m,n,j);
}printf("做对了%d个\n",j);
return 0;
}
int main()
{
int m,n;
char a;
printf("请选择要做的题目类型(+,-,*,/):");
scanf("%c",&a);
if(a=='+')jia(m,n);
else if(a=='-')jian(m,n);
else if(a=='*')cheng(m,n);
else chu(m,n);
return 0;
}

实验结果截图

实验成员(李鹏)

 

posted @ 2018-11-06 20:17  唯心123  阅读(307)  评论(0编辑  收藏  举报