#include <bits/stdc++.h>
int main()
{
int count = 1;
double min = 0, max = 0, sum = 0, avg = 0;
int num;
while (true)//无限循环结构:直到条件 true (为假),或程序遇到 break 语句
{
std::cout << "输入第" << count << "个数字(小于1000):";
if (!(std::cin >> num))//如果能成功调取(即输入的数据满足要求),为false
{
break;//如果无法成功调取(输入非整数值),条件true,执行break
}
sum += num;
if (count == 1 || num < min)//若是第一次输入或当前输入的数字小于当前的min,则将min为num
{
min = num;
}
if (count == 1 || num > max)
{
max = num;
}
count++;
}
avg = sum / (count - 1); // 0除以0后结果为0
std::cout << "最小值:" << min << std::endl;
std::cout << "最大值:" << max << std::endl;
std::printf("平均值:%.3f\n", avg);
return 0;//enter--Ctrl+z--enter键结束程序
}
void solve()// 定义一个名为 solve 的函数,该函数没有参数,也没有返回值
{
int x, sum = 0, mx = -1e9, mn = 1e9, cnt = 0;
while(cin>>x)//使用 while 循环从标准输入中读取整数 x,直到没有更多的输入为止。
{
sum += x;
mx = max(mx, x);//使用 max 函数更新 mx,将其设置为 mx 和 x 中的较大值,从而找到最大值
mn = min(mn, x);
cnt++;
}
cout<<mn<<"\n"<<mx<<"\n";
cout<<fixed<<setprecision(3)<<1.0*sum/cnt<<"\n";
}
//计算平均值 sum / cnt,并使用 fixed 和 setprecision(3) 格式化输出。
//1.0 * 将 sum 转换为浮点数,确保 division 是浮点数除法
//从而得到一个带有小数的结果,最后输出到标准输出,结果保留三位小数。
%xd与%-xd:如果要输出的数据少于x位,%xd在数据左端补空格,少几位就补几个空格;%-xd在数据右端补空格,少几位就补几个空格。
%.4.3f与%.3f:
① %.3f中的3表示保留3位小数
② %4.3f中4表示有4个位置(小数点占一位):保留三位小数。如果不足4位,数据前补空格,少几位补几个空格。若位数超过,二者没区别
③ 小数点后多余的四舍五入,等于五看前一位是否为偶数,为偶数进位,为奇数舍去。
%0nd:n表示输出的数据宽度为n
如果输出的数据大于4位,直接输出数据
如果要输出的数据宽度少于4位,在数据左端补0,少几位补几个0