#include <stdio.h> #include <time.h> #include <stdlib.h> void main() { int a,b,c,d,s; int x1=0,x2=0; printf("--------欢迎来挑战四则运算------\n"); while(1) { srand(time(NULL)); d=a=rand()%100; b=(rand()%a+a)%100; if(a%4==1&&a<b) { c=a,a=b,b=c; } if(b==0&&a%4==3) { b=rand()%10+1; } if(a%4==3&&a%b!=0) { srand(time(0)); a=b*(rand()%a); } switch(d%4) { case 0:printf("%d + %d = ",a,b); scanf("%d",&c); if(c==a+b) { printf("正确\n"); x1++; } else { printf("错误\n"); x2++; }break; case 1:printf("%d - %d = ",a,b); scanf("%d",&c); if(c==a-b) { printf("正确\n"); x1++; } else { printf("错误\n"); x2++; }break; case 2:printf("%d × %d = ",a,b); scanf("%d",&c); if(c==a*b) { printf("正确\n"); x1++; } else { printf("错误\n"); x2++; }break; case 3:printf("%d ÷ %d = ",a,b); scanf("%d",&c); if(c==a/b) { printf("正确\n"); x1++; } else { printf("错误\n"); x2++; }break; } printf("继续挑战请按确认键,按0退出挑战!\n"); fflush(stdin); if(getchar()=='0')break; } s=x1*10; printf("你答对了%d道题,答错%d道题\n",x1,x2); if(s==0) { printf("很遗憾你的了零分,请好好努力哦!\n",s); } else{ printf("恭喜你得了%d分\n",s); }
看了老师发的那个升级版的要求,就尝试做了一下,要求算分数的已经能做出来了,可是真分数的那个要求想了很久还是实现不了,这算是个半成品吧。
我做的是一次性只能生成一道运算题,还有待修改,或则可以做一个一次性生成多道运算题的程序。
转载于:https://www.cnblogs.com/mch-29-wamc/p/4372468.html