輸入輸出框架(未完待續)
阿新 • • 發佈:2017-11-05
+= windows ble 之前 返回值 nbsp 最小值 標準 logs
輸入一些整數,求出它們的最小值、最大值和平均值(保留3位小數)。 輸入保證這些數都是不超過1000的整數。
樣例輸入:
2 8 3 5 1 7 3 6
樣例輸出:
1 8 4.375
#include <stdio.h> int main() { int n=0, x, min, max, s=0; while (scanf("%d", &x)==1) { s += x; if (x > max) max = x; if (x < min) min = x; ++n; } printf("%d %d %.3f\n", min, max, double(s) / n); return 0; }
-
scanf函數有返回值?
對,它返回的是成功輸入的變量個
數,當輸入結束時,scanf函數無法再次讀取x,將返回0。 -
輸入結束
Windows下,Ctrl+D鍵,再按Enter鍵,即可結束輸入。
變量在未賦值之前的值是不確定的,它不一定等於0.
解決的方法就是在使用之前對max和min賦值。先讀取第一個數x,然後令max=min=x。
上面程序並不是很方便:每次測試需要手動輸入許多數。一個好的方法是用文件,把輸入數據保存在文件中,輸出數據也保存在文件中,這樣,只要事先把輸入數據保存在文件中,就不必每次重新輸入了;數據輸出在文件中也避免“輸出太多”。運行結束後慢慢瀏覽輸出文件即可。如果有標準答案還可以與輸出文件比較。無需檢查輸出是否正確。
輸入輸出框架(未完待續)