题目:
我选择的题目是让程序能接受用户输入答案,并判定对错。最后给出总共对/错 的数量。
设计思路:
在每种结果后添加判断语句如果正确则输出回答正确,如果错误则输出回答错误。第一次设计时已经实现了判断正误并计数,此次将第一次与第二次的融合了一下。
源代码如下:
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include <time.h> 4 int main() 5 { 6 int tiLiang,rangeOfValues,ifMulDiv,ifFuShu,ifYuShu,numPerHang; 7 int x,y,z,temp,result,m=0,rightNumber=0; 8 printf("输入测试数量:"); 9 scanf("%d",&tiLiang); 10 printf("输入数值范围:"); 11 scanf("%d",&rangeOfValues); 12 printf("是否有乘除法(1表示有,其他字符表示没有):"); 13 scanf("%d",&ifMulDiv); 14 printf("是否允许减法结果为负数(1表示允许,其他字符表示不允许):"); 15 scanf("%d",&ifFuShu); 16 printf("除法结果有无余数(1表示允许,其他字符表示不允许):"); 17 scanf("%d",&ifYuShu); 18 19 srand((unsigned) time(NULL)); //设置种子 20 for(int i=0;i<tiLiang;i++) //进行 题目数量 次循环 21 { 22 x=rand()%rangeOfValues; //控制数值范围 23 y=rand()%rangeOfValues; 24 25 if(ifMulDiv==1) //控制有无乘除法 26 z=rand()%4; //根据z的值随机出现四则运算 27 else 28 z=rand()%2; 29 30 if(z==0) 31 { 32 printf("%d+%d=",x,y); 33 scanf("%d",&result); 34 if(result==x+y) 35 { 36 printf("厉害,对了!\n"); 37 rightNumber++; 38 } 39 else 40 printf("笨蛋,错了!\n"); 41 42 } 43 44 if(z==1) 45 { 46 if(ifFuShu != 1) 47 { 48 temp=x; 49 x=y; 50 y=temp; 51 printf("%d-%d=",x,y); 52 scanf("%d",&result); 53 if(result==x-y) 54 { 55 printf("厉害,对了!\n"); 56 rightNumber++; 57 } 58 else 59 printf("笨蛋,错了!\n"); 60 } 61 62 else 63 { 64 printf("%d-%d=",x,y); 65 scanf("%d",&result); 66 if(result==x-y) 67 { 68 printf("厉害,对了!\n"); 69 rightNumber++; 70 } 71 else 72 printf("笨蛋,错了!\n"); 73 } 74 } 75 76 if(z==2) 77 { 78 while((ifYuShu != 1)&&(x%y != 0)) 79 { 80 x=rand()%rangeOfValues; 81 } 82 while(y==0) 83 { 84 y=rand()%rangeOfValues; 85 } 86 printf("%d÷%d=",x,y); 87 scanf("%d",&result); 88 if(result==x/y) 89 { 90 printf("厉害,对了!\n"); 91 rightNumber++; 92 } 93 else 94 printf("笨蛋,错了!\n"); 95 } 96 97 if(z==3) 98 { 99 printf("%d*%d=",x,y); 100 scanf("%d",&result); 101 if(result==x*y) 102 { 103 printf("厉害,对了!\n"); 104 rightNumber++; 105 } 106 else 107 printf("笨蛋,错了!\n"); 108 } 109 } 110 printf("\n本次测试做对了%d个\n",rightNumber); 111 return 0; 112 }
运行结果如下:
实验总结:
本次实验是前两次实验的结合,不难。由于本人实力有限,要是选择其它题目,很难按时发表博文,所以选择了第一题。
时间: 2024-11-06 15:08:48