輸入一些整數,求出他們的最小值,最大值和平均值(保留3位小數)。輸入保證這些數都不是超過1000的整數
#includeint main()
printf("%d %d %.3f\n",min,max,(double)s/n);
return 0 ;
}
這個程式在ide上執行了,min和s(平均值)都是正確的,但是max是錯誤的
書上給的解決方法是:
在使用前賦給他乙個初值、由於min儲存的是最小值,所以min就要賦給其乙個極大值
max儲存的是乙個最大值,所以max應該賦給乙個極小值
方法有二
定義乙個很大的常數, 如inf= 1000000000,然後讓max= -inf,min= inf
先讀取第乙個整數x,然後令max= min = x
介紹輸入輸出的方法:管道(windows下的echo 輸入| 程式名 linux下的echo| ./程式名)檔案(把輸入資料放在檔案中,輸出資料也放在檔案中)
#define local
#include #define inf 10000000000
int main()
printf("%d %d %.3f\n", min, max, (double)s/n );
return 0;}/*
in283
5173
6out
1410065408 -1410065408 -1.#io
??????***%……¥%@!!#¥!#
看都看不懂1410065408什麼意思??????
這個是書上寫的重定向版本,但是它輸入的是正常的數字,輸出的卻不知道是什麼玩意兒……
#include#define inf 100000000
int main()
fprintf(fout,"%d %d %.3f\n", min, max, (double)s/n);
fclose(fin);
fclose(fout);
return 0;}/*
in283
5173
6out
100000000 -100000000 -1.#io
??????????????
為什麼啊?
那意思是那個while迴圈等於不存在????
這個是書上的fopen版本
重定向和fopen方法各有優劣,重定向的方法雖然簡單、自然,但是不能同時寫檔案和standard in/out
fopen的寫法稍微複雜點,但是靈活性比較大
演算法競賽入門經典(第二版) 習題
習題2 5 include int main if 10 n b 10 b 5 確定末位四捨五入的情況 printf d 10 n b 1 else printf d 10 n b return 0 注意 要及時輸出,防止n越界 習題2 6 include void result int num,i...
《演算法競賽入門經典(第二版)》 隨筆
c語言中整數值用 d輸出,實數 浮點數 用 f輸出。kiss原則 keep it and stupid 獲得程式執行時間 包括鍵盤輸入時間 include printf 執行時間 2f n double clock clocks per sec 輸入個數未知時 while scanf d x 1 對...
《演算法競賽入門經典(第二版)》習題(二)
習題 2 1 水仙花數 輸出100 999中的所有水仙花數。若3位數abc滿足abc a b c 則稱其為水仙花數。例如 153 1 5 3 所以153是水仙花數。include intmain return0 習題 2 2 韓信點兵 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三...