1. 程式人生 > >#46 小小型應用系統開發(一)______100以內的四則運算

#46 小小型應用系統開發(一)______100以內的四則運算

編寫程式,用隨機數實現100以內的加、減、乘、除運算,其中和與積不能超過100,差不為負(即須大減小),商不為小數或分數(即必須整除)。要求總計輸出10個運算式,每輸出一個運算式,等待輸入結果,然後進行對錯判斷並輸出。最後輸出統計答對的題數與分數。

分析

主程式包括以下幾個部分:

  1. 變數定義(運算元a,b,結果d,運算子c,答對題數統計sum等)
  2. 開始迴圈輸出運算式
  3. 產生隨機數(先初始化)
  4. 判斷隨機數是否滿足條件
  5. 輸出運算式
  6. 等待輸入
  7. 結果判斷
  8. 結束迴圈輸出運算式
  9. 輸出統計資料

程式碼

/**
*Copyright @2018,CSDN學院
*All rights reserved.
*檔名稱:main.c
*作    者:袁生
*完成日期:2018年9月27日
*版 本 號:v1.0
*問題描述:100以內的四則運算(兩個數)
*/
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int a,b,d,t; //定義兩個運算元a,b,結果d,輸入結果t char c; //運算子c可取“+、-、×、÷” int i,sum=0; //題目數量i,答對數目sum srand(time(0)); //初始化隨機數發生器 /**< 產生資料 */ for(i=0;i<10;i++) { a=rand()%100+1; b=
rand()%100+1; c=rand()%4; //0表加,1表減,2表乘,3表除 /**< 資料合格判斷及算式顯示 */ printf("第%d題:",i+1); switch(c) { case 0: while((d=a+b)>100) //保證和在100內 { a=rand()%100+1; b=rand()%100+1; } printf
("%d + %d = ",a,b); break; case 1: while(a>100||b>100) //被減數小於100 { a=rand()%100+1; b=rand()%100+1; } if(a<b) //被減數大於減數 { d=a; a=b; b=d; } d=a-b; printf("%d - %d = ",a,b); break; case 2: while((d=a*b)>100) //保證積小於100 { a=rand()%100+1; b=rand()%100+1; } printf("%d × %d = ",a,b); break; case 3: while(a>100||b>100||(a*b==0)) //保證被除數小於100且除數不為0 { a=rand()%100+1; b=rand()%100+1; } if(a<b) //被除數必須大於除數 { d=a; a=b; b=d; } a=(a/b)*b; //保證整除 d=a/b; printf("%d ÷ %d = ",a,b); break; } /**< 輸入你的計算結果 */ scanf("%d",&t); if(d==t) { sum++; printf("正確\n"); } else printf("錯誤\n"); } /**< 輸出答對題數和得分 */ printf("答對 %d 題,得分:%d\n",sum,sum*10); return 0; }

執行結果

在這裡插入圖片描述