#include #include #include int cal() { int x,y,t; t=rand()%4+1;/*生成随机运算符*/ x=rand()%10+1; y=rand()%10+1;/*生成两个计算因子*/ if (t==1) {printf("%d+%d=",x,y);return x+y;} if (t==2) {printf("%d*%d=",x,y);return x*y;}/*控制加法和乘法的生成*/ if (t==3) /*控制减法的生成并保证结果为正*/ { y=rand()%x+1; printf("%d-%d=",x,y);return x-y; } if (t==4) /*控制除法的生成并保证结果为整数*/ { while (x%y!=0) x=x-x%y; } printf("%d/%d=",x,y);return x/y; } int yes()/*正确结果反馈函数*/ { int a; a=rand()%4+1; if (a==1) printf("Very good!\n"); if (a==2) printf("Excellent!\n"); if (a==3) printf("Nice work!\n"); if (a==4) printf("Keep up the good work!\n"); } int no()/*错误结果反馈函数*/ { int a; a=rand()%4+1; if (a==1) printf("No. Please try again.\n"); if (a==2) printf("Wrong. Try once more.\n"); if (a==3) printf("No. Don't give up!\n"); if (a==4) printf("Not correct. Keep trying.\n"); } int text()/*出卷系统*/ { int i,a,b,j; j=0; srand(time(0)); for (i=1;i<=10;i++)/*计数器*/ { b=cal(); scanf("%d",&a); if (a==b) { yes(); j++; } else no(); } printf("测试结束!你的总分是%d。正确率%d%%。",j*10,j*10); return j*10; } void main() { int a,b; for (a=0;a==0;) { b=text(); if (b>75) /*最终得分判断*/ {printf("恭喜,你通过了测试!\n");a=1;} else printf("很遗憾,请重新测试。\n"); } }
这就没用到数据存储结构。就简单的变量,
.
.
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632