#include <stdio.h>
#include <stdlib.h>
#include <time.h>int sjs()
{return (rand()%9+1)*10 + (rand()%9+1);
}int MakeQuestion ()
{int a,num1,num2,TrueAnswer;a=sjs();num1=a/10+1;num2=a%10+1;TrueAnswer = num1 * num2 ;printf("%d * %d = ? \n",num1 , num2);return TrueAnswer;
}int CheekAnswer(int Answer , int TrueAnswer)
{if(Answer == TrueAnswer){printf("Right\n");return 1;}else{printf("Wrong\n");return 0;}
}int RW1()
{int Answer,TrueAnswer,temp1;do{TrueAnswer = MakeQuestion();scanf("%d",&Answer);temp1 = CheekAnswer(Answer , TrueAnswer);}while(temp1 != 1);printf("恭喜你已通过实验一\n");return 0;
}int RW2()
{int Answer,TrueAnswer,temp1;int wrongCount = 0;do{TrueAnswer = MakeQuestion();scanf("%d",&Answer);temp1 = CheekAnswer(Answer , TrueAnswer);if(temp1 != 1 ){wrongCount++;printf("错误次数: %d/3\n", wrongCount);}}while(wrongCount != 3);printf("您未能通过实验二,已退出实验二\n");return 0;
}int RW3()
{int i,Answer,TrueAnswer,temp1;int wrongCount = 0;for(i=0;i<10;i++){TrueAnswer = MakeQuestion();scanf("%d",&Answer);temp1 = CheekAnswer(Answer , TrueAnswer);if(temp1 != 1 ){wrongCount++;}}printf("您的分数为%d\n正确率为%d%%\n已退出实验三\n",100-10*wrongCount,100-10*wrongCount);return 0;
}int main()
{int a;srand(time(NULL));printf("请输入数字1~3进入任务1~3\n");printf("任务1:答对终止\n");printf("任务2:答错三次终止\n");printf("任务3:答10题,输出分数和正确率终止\n");while(scanf("%d",&a)==1){if(a==1) RW1();else if(a==2) RW2();else if(a==3) RW3();else printf("输入错误,请输入1-3: ");}return 0;
}