题目:
输入一些整数,求出他们的最小值、最大值和平均值(保留3位小数)。
输入保证这些数都是不超过1000的整数。
输入包含多组数据,每组数据第一行是整数个数n,第二行是n个整数。
n=0为输入结束标记,程序应当忽略这组数据。
相邻两组数据之间应输出一个空行。
样例输入:
8
2 8 3 5 1 7 3 6
4
-4 6 10 0
0
样例输出:
Case 1:1 8 4.375
//我是空行
Case 2:-4 10 3.000
分析:
- 如何接收输入数据。
注意:
- 变量创建在循环内,还是循环外的判断。
代码:
#include<iostream>
using namespace std;
int main()
{
int x = 0;
int n = 0;
int Case = 0;
/*
在while循环的判断语句中,达到了两种效果。
1.接收整数n
2.确定了循环结束的条件
*/
while (scanf_s("%d", &n) == 1 && n)
{
int s = 0;
int min = 0;
int max = 0;
for (int i = 0; i < n; i++)
{
scanf_s("%d", &x);
s += x;
if (x < min) min = x;
if (x > max) max = x;
}
if (Case) printf("\n");
printf("Case %d: %d %d %.3f\n", ++Case, min, max, (double)s / n);
}
return 0;
}