整數加減法練習

2022-05-16 15:40:14 字數 1477 閱讀 2113

程式自動產生隨機數(srand 設定種子為系統時間,以保證每次執行程式產生的隨機數有差別 ),然後使用者輸入結果,程式判斷使用者輸入是否正確

減法運算時要保證隨機產生的a要大於b(用while迴圈判斷,當然前提條件是使用者選擇的為減法運算,這裡只保證式子產生的結果為非負整數)。

#include #include 

#include

intmain()

sign1=(sign==1?'

-':'+'

); printf(

"\n%d%c%d=

",a,sign1,b);

scanf("%d

",&c);

if((sign==1)&&(a-b==c)||(sign!=1)&&(a+b==c))

else

printf(

"the result is wrong!\n");

}

程式執行結果如下:

最後附上本程式涉及到的函式原型 

srand(設定隨機數種子)

相關函式

rand,random srandom

表頭檔案

#include

定義函式

void srand (unsigned int seed);

函式說明

srand()用來設定rand()產生隨機數時的隨機數種子。引數seed必須是個整數,通常可以利用geypid()或time(0)的返回值來當做seed。如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。

rand(產生隨機數)

相關函式

srand,random,srandom

表頭檔案

#include

定義函式

int rand(void)

函式說明

rand()會返回一隨機數值,範圍在0至rand_max

間。在呼叫此函式產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在呼叫時會自動設隨機數種子為1。關於隨機數種子請參考srand()。

返回值

返回0至rand_max之間的隨機數值,rand_max定義在stdlib.h,其值為2147483647。

相關函式

ctime,ftime,gettimeofday

表頭檔案

#include

定義函式

time_t time(time_t *t);

函式說明

此函式會返回從公元2023年1月1日的utc時間從0時0分0秒算起到現在所經過的秒數。如果t

並非空指標的話,此函式也會將返回值存到t指標所指的記憶體。

返回值

成功則返回秒數,失敗則返回((time_t)-1)值,錯誤原因存於errno中。

大整數演算法(加減法)

現將兩個數分別計算出長度,然後用將長度較短的數為界,寫乙個for迴圈,將兩個數從末往前依次相加。這個迴圈結束後,將長度較大的陣列未計入計算的數進行運算 include includeint main 將陣列初始化為0 int l1,l2 l1 strlen a l2 strlen b if l1 l...

大整數類 實現加減法

上次寫了乙個 無符號大整數加法 是比較容易的,這次實現了完整的大整數的加減法,支援有符號的!不過實現起來感覺不是很順暢,感覺可以優化的地方還很多,先貼一下 日後再來優化。另,思路主要是模擬手算的過程,計算方式在注釋裡有說清楚。biginteger.h ifndef big integer h def...

大整數(高精度)加減法

第一次寫,涉及大整數加減運算 先來看看加法,主要思想是逐位相加,進製加1 include include using namespace std void add int a,int b string str1,string str2 void print int a 輸出控制,多餘的0不要輸出 i...