用C语言编写小学运算测试程序(要求完成10以内的加减运算,能根据用户输入想要练习的题目数自行出题、、)

 我来答
松甜恬0Je4ba
2011-06-28 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3326万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int yunsuan(int M,int NUM)
{
int m=1,n=0,a,b,daan;
while(1)
{
srand(time(0));
a=rand()%M;
b=rand()%M;
switch(1+rand()%2)
{
case 1: //加
{
printf("<%d>",m);
printf("%4d+%4d=",a,b);
scanf("%d",&daan);
if(daan==(a+b))
n++;
else
printf("Fault!\n");
m++;
break;
}
default: //减
{
if(a>=b)
{
printf("<%d>",m);
printf("%4d-%4d=",a,b);
scanf("%d",&daan);
if(daan==(a-b))
n++;
else
printf("Fault!\n");
m++;
break;
}
else
{
printf("<%d>",m);
printf("%4d-%4d=",b,a);
scanf("%d",&daan);
if(daan==(b-a))
n++;
else
printf("Fault!\n");
m++;
break;
}
}
}
if(m == NUM+1)
break;
}
return n;
}

int main()
{
int M,p;
float right;
char o;
int num; //题目的个数。
while(1)
{
printf(" 欢迎进入小学生四则运算训练营\n\n1.10以内的四则运算\n0.退出\n\n");
printf("请选择功能号(1/0):");
scanf("%d",&p);
getchar();
if(p==1)
M=10;
if(p==0)
exit(0);
printf("请选择的是%d以内的四则运算个数:\n",M);
scanf("%d",&num);
int temp = yunsuan(M,num);
right= temp/(num*1.0);
printf("正确率:%.2f%%",right*100); //正确率。
getchar(); //吸收前面的回车键。
printf("继续吗?(y/n)");
scanf("%c",&o);
if(o == 'y' || o == 'Y')
{
system("pause");
}
else
{
break;
}
}
getchar();
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式