本周作業:自動生成四則運算題目
程式代碼:
#include"stdio.h" #include"stdlib.h"
#include<time.h>
main(){
int a,b,result,i,j,m,n;
printf("四則運算題目數量:");
scanf("%d",&i);
srand( (unsigned)time( NULL ) );
for( j = 0; j < i;j++ )
{
a=rand()%100+1;
b=rand()%100+1;
m=rand()%100+1;
n=rand()%100+1;
result=rand()%8;
switch(result){
case 0:printf("%d+%d=\n",a,b);break;
case 1:printf("%d-%d=\n",a,b);break;
case 2:printf("%d*%d=\n",a,b);break;
case 3:printf("%d/%d=\n",a,b);break;
case 4:printf("%d/%d+%d/%d=\n",a,m,b,n);break;
case 5:printf("%d/%d-%d/%d=\n",a,m,b,n);break;
case 6:printf("%d/%d*%d/%d=\n",a,m,b,n);break;
case 7:printf("%d/%d/%d/%d=\n",a,m,b,n);break;
}
程式截圖:

我的總結:
在這次作業中,我終于知道基礎薄弱的話是不可能完成一個項目的,是以在此基礎上,我借鑒了網上的程式,并認真學習。在剛開始我真的是毫無頭緒。
後來我在看了别人的程式之後,知道了四則運算要先是随機數的生成,使用rand函數就可以生成。之後就是四則運算表達式,使用的switch語句。最開始我将a、b兩個随機數定義為int整型,在switch語句中,分支了4個選擇,分别是加減乘除。題目中要求還要支援真分數的運算,但在c語言中沒有真分數,是以用float浮點型來表示,但是生成的結果并不是想要的。經過上網查找借鑒,最後将switch語句分支了8個選擇,分别是四個整數的和四個分數的,而其中的分數則使用a/m來表示。
雖然這些并不算什麼,但是我會努力地學習,争取追上其他同學,最後也可以自己完成一個完整的項目。