1. 程式人生 > >輸入輸出框架(未完待續)

輸入輸出框架(未完待續)

+= 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。

上面程序並不是很方便:每次測試需要手動輸入許多數。一個好的方法是用文件,把輸入數據保存在文件中,輸出數據也保存在文件中,這樣,只要事先把輸入數據保存在文件中,就不必每次重新輸入了;數據輸出在文件中也避免“輸出太多”。運行結束後慢慢瀏覽輸出文件即可。如果有標準答案還可以與輸出文件比較。無需檢查輸出是否正確。

輸入輸出框架(未完待續)