#include"stdio.h" #include"stdlib.h" //随机函数头文件// #include"time.h" //时间函数头文件// int add(int j,int x, int y); //加法计算// void sub(int j,int x, int y); //减法计算// int sum=0; //记录得分// int pd(int result) //*判断输入是否正确 正确 返回1 错误 返回-1*// { int n; scanf("%d",&n); if(result==n) return 1; return -1; } void jifen(int result) //根据错误次数记分,累加到sum// { if(pd(result)==1) sum+=10; else { printf("\n答案错误请重新输入:"); //错一题 // if(pd(result)==1) sum+=7; else { printf("\n答案错误请重新输入:"); //错两题// if(pd(result)==1) sum+=5; else printf("\n答错三次请继续解答下一题:\n"); //错三题// } } } int main() { int i,x,y,ch,z; srand(time(NULL));//随机函数 产生不同的随机数// printf("小学生计算题\n"); for(i=0;i<10;i++) { x=rand()%51; y=rand()%51; ch=rand()%2; switch(ch) { case 0: z=add(i+1,x,y); if(z==1) //重新出一题// i=i-1; break; case 1: sub(i+1,x,y); break; default: printf("系统出错"); break; } } printf("你的分数为:%d ",sum); if(sum>=90&&sum<=100) printf("SMART"); else if(sum>=80) printf("GOOD"); else if(sum>=70) printf("OK"); else if(sum>=60) printf("PASS"); else if(sum>=0) printf("TRY AGAIN"); else printf("系统错误"); return 0; } int add(int j,int x,int y) { int result; result=x+y; if(result>50) //判断是否超出范围 超出返回1// return 1; printf("%d:%d+%d=",j,x,y); jifen(result); return -1; } void sub(int j,int x,int y) { int result,t; if(x