標籤:
題目:
我選擇的題目是讓程式能接受使用者輸入答案,並判定對錯。最後給出總共對/錯 的數量。
設計思路:
在每種結果後添加判斷語句如果正確則輸出回答正確,如果錯誤則輸出回答錯誤。第設計一次時已經實現了判斷正誤並計數,此次將第一次與第二次的融合了一下。
原始碼如下:
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 }
運行結果如下:
實驗總結:
本次實驗是前兩次實驗的結合,不難。由於本人實力有限,要是選擇其它題目,很難按時發表博文,所以選擇了第一題。
c實現四則運算3