【数据统计】
先读入一个数,假定这个数定位 max, min。
如果之后读入的数,大于max,则更新 max;
如果之后读入的数,小于min, 则更新 min;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<stdio.h> int main() { int x, min, max, count, sum; scanf("%d", &x); sum = min = max = x; count = 1; while(scanf("%d", &x)!=EOF) { sum += x; count++; if(x < min) min = x; if(x > max) max = x; } printf("%d\n", min); printf("%d\n", max); printf("%.3lf\n",(double)sum/count); return 0; } |
如果输入的数很多,每次运行时都手动输入,非常麻烦。
其实可以把这些数放在文件如 data.in.txt 中, 程序从文件中读取而不是从标准输入 stdin
做法超乎寻常的简单,只需在 main 函数中添加一行代码就可实现
1 2 3 4 5 6 7 8 9 10 | #include<stdio.h> int main() { freopen("data.in.txt", "r", stdin); int x, min, max, count, sum; 省略 ...... return 0; } |
如果要把结果保存到文件(如 data.out.txt)而不是输出到屏幕,该如何做呢?
1 | freopen("data.out.txt", "w", stdout); |