跪求一个计算器C语言程序,要求能够计算a+b*c-d,(a+b)-()等括号和四则运算即可

如题所述

#include
<stdio.h>
/*
调用库函数
*/
#include
<stdlib.h>
/*
调用库函数
*/
#include
<time.h>
int
Tha;
/*
变量
表示第一个运算数
*/
int
Thb;
/*
第二个运算数
*/
int
result;
/*
正确答案
*/
int
op;
/*
运算符号
*/
int
n
=
0,m
=
0;
double
p
=
0;
void
TestTen()
/*
出第一个级别题的函数
*/
{
int
enter;
int
temp;
op=rand()
%
4+1;
switch(op)
/*
判断运算符是什么
*/
{
case
1:
/*

的情况
*/
{
Tha=rand()%10;
Thb=rand()%10;
result=Tha+Thb;n++;break;
}
case
2:
/*

的情况
*/
{
Tha=rand()%10;
Thb=rand()%10;
if(Tha<Thb)
{temp=Tha;Tha=Thb;Thb=temp;}
/*
交换
*/
result=Tha-Thb;n++;break;
/*
计算出正确答案
放在
Tresult中
*/
}
case
3:
/*

的情况
*/
{
Tha=rand()%10;
Thb=rand()%10;
result=Tha*Thb;n++;break;
}
case
4:
/*

的情况
*/
{do
/*
循环
保证可以除尽
*/
{
do
/*
循环保证
除数不为
0
*/
{Tha=rand()%10;
Thb=rand()%10;
if(Tha<Thb)
{temp=Tha;Tha=Thb;Thb=temp;}
}while(Thb==0)
;
}while((Tha%Thb)!=0);
result=Tha/Thb;
n++;
break;
}
}
switch(op)
/*
根据
op的值决定输出
问题
*/
{
case
1:
{printf("\n%d
+
%d
=
",Tha,Thb);break;}
case
2:
{printf("\n%d
-
%d
=
",Tha,Thb);break;}
case
3:
{printf("\n%d
X
%d
=
",Tha,Thb);break;}
case
4:
{printf("\n%d
/
%d
=
",Tha,Thb);}
}
scanf("%d",&enter);
/*
用户输入答案
*/
if(result==enter)
{
m++;
printf("回答正确,非常好!\n");
}
else
printf("很遗憾,回答错误\n");
}
void
main()
{
srand((unsigned)time(NULL));
int
i,n;
scanf("%d",&n);
/*输入问题的个数*/
for(i=1;i<=n;i++)
{
TestTen()
;
}
p=(m*1.0/n);
p
*=
100;
printf("\n正确率为%5.2f%%\n",p);
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答