基於c編寫的關於隨機生成四則運算的小程式

2022-09-04 05:54:09 字數 3517 閱讀 4916

基於改編寫的關於隨機生成四則運算的小程式

基本要求:

除了整數以外,還能支援真分數的四則運算。

對實現的功能進行描述,並且對實現結果要求截圖。

主要功能:運算小學四則運算,可以選擇加減乘除以及混合運算。

設計思想:首先思考運算數字範圍,考慮小學生的運算能力,然後分類運算方法,分為加減乘除混合運算,

然後可以選擇是繼續做題還是退出程式,可以總結做對或者做錯的題數,方便計算正確以及錯誤的題數。

二 程式**:2017-09-16

#include#include

#include

#include

#include

#include

int right = 0

;int wrong = 0

;char

getsignal();

int calculateintegerresult(int num1, int num2, char

signal);

//int getnumber();

void

dointegersubject();

void falseprint(int

);void correctprint(int

);/*

char getsignal()

;srand((unsigned)time(null));

return signal[rand() % 4];}*/

char

getsignal()}/*

int getnumber()

*/int calculateintegerresult(int num1, int num2, char

signal)

returnt;}

void calculatemarkresult(int num1, int num2, int num3, int num4, char signal, int mark[5

])

else

break

;

case'-

':if (num2 ==num4)

else

break

;

case'*

':mark[

0] = num1*num3;

mark[

1] = num2*num4;

break

;

case'/

':mark[

0] = num1*num4;

mark[

1] = num2*num3;

break

;

default

: printf(

"運算子不符合規則\n");

break

; }

}void

dointegersubject()

}printf(

"please do blew problem:\n");

printf(

"%d %c %d=

", a, signal, b);

//giveranswer = _getch();

scanf_s("

%d", &giveranswer);

fflush(stdin);

if (calculateintegerresult(a, b, signal) ==giveranswer)

else

}void

domarksubject()

if (a break

; }

while (1

)

if (c break

; }

/*a = rand() % 100 + 1;

b = rand() % 100 + 1;

c = rand() % 100 + 1;

d = rand() % 100 + 1;

signal = getsignal();

if (b == 0 || a>b)

if (d == 0 || c>d)

*/printf(

"please do blew problem:\n");

printf(

"%d/%d %c %d/%d=

", a, b, signal, c, d);

//giveranswer = _getch();

i = 0

;

while (1

)

x = 0

;

for (j = 0; j < i; j++)

scanf_s("%d

", &y);

calculatemarkresult(a, b, c, d, signal, result);

//scanf_s("%d", &givernumber[i]);

fflush(stdin);

if (x == result[0] && y == result[1

])

else}//

回答正確列印資訊

void correctprint(int

num)}//

回答錯誤列印資訊

void falseprint(int

num)

}void

main()

total = right +wrong;

printf(

"你一共答了:%d道題其中答對了%d 道答錯了%d道\n

", total, right, wrong);

break

;

case2:

while (right >=wrong)

total = right +wrong;

printf(

"你一共答了:%d道題其中答對了%d 道答錯了%d道\n

", total, right, wrong);

break

; }

system(

"pause");

}printf(

"\n\t\t\t1.重新選擇?\n");

printf(

"\n\t\t\t2.退出運算?\n");

scanf_s("%d

", &choice1);

if (choice1 == 1

)

else

if (choice1 == 2

)

else

printf(

"抱歉!,你輸入的指令有誤!請重新輸入!\n");

system(

"pause");

}

隨機生成四則運算

心得 在程式設計過程中遇到的最大的問題就是隨機數的產生問題。在c語言中函式rand 可以用來產生隨機數,但是它缺不是乙個真正的隨機數,需要用到srand 函式。所以我用srand unsigned time null 這段 來解決隨機數的產生問題。rand 的隨機範圍在0到32767之間。在乙個fo...

隨機生成四則表示式2

接著上次的程式,老師又給二柱子增加了幾個條件,對程式再做進一步的改進,要求滿足如下條件 1.題目避免重複。2.可制定。數量 列印方式 3.可以控制下列引數 如下是對本題的分析 針對問題,首先要進行拆分。從最小的功能開始,然後依次實現。首先還是生成一道兩個數的四則表示式,這個不難實現。困難的是如何生成...

關於生成四則表示式

關於出題數量和列印方式的限制解決。使用兩個引數num line,num限制出題數量,line限制輸出時每行輸出數量。將for迴圈設為無限迴圈,在迴圈的最後讓四組數量相加等於num即可break跳出迴圈。最後乙個限制有很多要求,目前完成了除分數的前幾個要求。解決方法就是在for迴圈剛開始時,兩個引數和...