美文网首页
输入数据统计

输入数据统计

作者: EastwardFlow | 来源:发表于2018-10-30 18:35 被阅读0次

    输入一些整数,求出他们的最小值,最大值,平均值(保留三位小数)。保证输入数字不超过1000

    方案一

    #include <iostream>
    using namespace std;
    
    int main(int argc, char const *argv[])
    {
        int i = 0;
        int max = 0;
        int min = 0;
        int sum = 0;
        int n = 0;
        while (scanf("%d", &i) == 1)
        {
            n++;
            if (n == 1)
            {
                min = i;
                max = i;
            }
    
            if (i > max)
                max = i;
            if (i < min)
                min = i;
            sum += i;
        }
        printf("最大值:%d,最小值 %d,平均值:%.3f", max, min, float(sum / n));
        return 0;
    }
    

    弱点 单次循环输入,操作性太弱。并且程序结束出口繁琐。

    方案二

    #include <iostream>
    using namespace std;
    #define INF 100000000
    
    int main(int argc, char const *argv[])
    {
        FILE *fin, *fout;
        fin = fopen("data.in", "rb");
        fout = fopen("data.out", "wb");
        int x, n = 0, min = INF, max = -INF, s = 0;
        while (fscanf(fin, "%d", &x) == 1)
        {
            s+=x;
            if (x<min) min = x;
            if (x>max) max = x;
            n++;
        }
        fprintf(fout,"d% %d %.3f\n",min,max,(double)s/n);
        fclose(fin);
        fclose(fout);
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:输入数据统计

          本文链接:https://www.haomeiwen.com/subject/vivgtqtx.html