四则运算器c 语言,趣味C语言四则运算练习器

编译环境:VC++6.0 SP6

编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。

直到用户回答说不再继续做了时结束程序。

提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;

而后通过使用"rand()"或"rand()0"来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。

还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。

#include

#include

#include

#include

#include

char type='+';

char level=2;

bool option()

{

char c;

system("cls");

printf("输入1,选择题目难度(默认100以内)\n输入2,选择做题类型(默认做加法题)\n输入3,开始做题");

scanf("%c",&c);

fflush(stdin);

if(c=='1')

{

printf("\r输入1,十以内的运算\n输入2,一百以内的运算");

scanf("%c",&level);

fflush(stdin);

option();

}else if(c=='2')

{

printf("\r输入四则运算的类型,用其符号表示,例如计算加法则输入+号");

scanf("%c",&type);

fflush(stdin);

option();

}else if(c=='3')

{

printf("Check it out");

return true;

}

else

{

printf("输入有误,请重新输入!");

return false;

}

}

void main()

{

char lyz810;

srand(time(NULL));

system("title 四则运算练习器 by lyz810&color

1e");

system("msg %username% /time:1 欢迎使用四则运算练习器!");

option();

double result=0;

double a,b;

char i;

short right=0,wrong=0,count=0;;

for(i=0;i<5;i++)

{

Sleep(300);

printf(".");

}

printf("\nHere we go!\n");

Sleep(1000);

system("start calc");

while(result!=-100)

{

if(level=='1')

{

a=rand();

b=rand();

}else

{

a=rand()0;

b=rand()0;

}

switch(type)

{

case '+':

printf("第%d题:%.0lf+%.0lf=?(输入-100查看分数)",count+1,a,b);

scanf("%lf",&result);

if(result==(a+b))

{

printf("√,你真棒!\n");

right++;

}

else if(result!=-100)

{

printf("×,正确答案为%.0lf\n",a+b);

wrong++;

}

else count--;

count++;

break;

case '-':

printf("第%d题:%.0lf-%.0lf=?(输入-100查看分数)",count+1,a,b);

scanf("%lf",&result);

if(result==(a-b))

{

printf("√,你真棒!\n");

right++;

}

else if(result!=-100)

{

printf("×,正确答案为%.0lf\n",a-b);

wrong++;

}

else count--;

count++;

break;

case '*':

printf("第%d题:%.0lf×%.0lf=?(输入-100查看分数)",count+1,a,b);

scanf("%lf",&result);

if(result==(a*b))

{

printf("√,你真棒!\n");

right++;

}

else if(result!=-100)

{

printf("×,正确答案为%.0lf\n",a*b);

wrong++;

}

else count--;

count++;

break;

case '/':

if(b==0)break;

printf("第%d题:%.0lf÷%.0lf=?(结果如果除不尽,保留2位小数,输入-100查看分数)",count+1,a,b);

scanf("%lf",&result);

if(fabs(result-(a/b))<0.005)

{

printf("√,你真棒!\n");

right++;

}

else if(result!=-100)

{

printf("×,正确答案为%.2lf\n",a/b);

wrong++;

}

else count--;

count++;

break;

}

}

if(count)

printf("\n你一共做了%d道题,对做对了%d道,做错了%d道,正确率为%.2lf%%",count,right,wrong,right/(double)count*100);

if(right/(double)count*100==100&&count)

{

printf(",全做对了,你真是个聪明的孩子!\n");

}

else

if(right/(double)count*100>80&&count)

{

printf(",做得不错,继续努力!\n");

}

else

if(right/(double)count*100>70&&count)

{

printf(",做得不太好,要多加练习啊!\n");

}

else

if(right/(double)count*100>=60&&count)

{

printf(",刚刚及格,要多动脑思考!\n");

}

else

{

printf(",悲剧了,没及格,今天没饭吃!\n");

}

system("pause>nul");

}

a4c26d1e5885305701be709a3d33442f.png(转载请将此图标删除)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值