输入输出框架(未完待续)

输入一些整数,求出它们的最小值、最大值和平均值(保留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。

 

上面程序并不是很方便:每次测试需要手动输入许多数。一个好的方法是用文件,把输入数据保存在文件中,输出数据也保存在文件中,这样,只要事先把输入数据保存在文件中,就不必每次重新输入了;数据输出在文件中也避免“输出太多”。运行结束后慢慢浏览输出文件即可。如果有标准答案还可以与输出文件比较。无需检查输出是否正确。

posted @ 2017-11-05 15:45  不负、  阅读(224)  评论(0编辑  收藏  举报