程式自動產生隨機數(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...