题干是这样的
首先,提示用户输入10个浮点数(分10次提示,每次输入1个浮点数);
然后,分别计算这10个浮点整数的最大值、最小值和平均值,分别存放到变量max、min和average中;
最后,分3行输出上一步得到的结果,保留3位小数。
但是问题在于,怎么分十次提示啊,又怎么把十次输入的变量存储啊,教教我
题干是这样的
首先,提示用户输入10个浮点数(分10次提示,每次输入1个浮点数);
然后,分别计算这10个浮点整数的最大值、最小值和平均值,分别存放到变量max、min和average中;
最后,分3行输出上一步得到的结果,保留3位小数。
但是问题在于,怎么分十次提示啊,又怎么把十次输入的变量存储啊,教教我
#include <stdio.h>
int main() {
double numbers[10];
int i;
// 提示用户输入浮点数
printf("请依次输入10个浮点数:\n");
for (i = 0; i < 10; i++) {
printf("请输入第%d个数:", i+1);
scanf("%lf", &numbers[i]);
}
// 计算最大值、最小值和平均值
double max = numbers[0], min = numbers[0], sum = numbers[0];
for (i = 1; i < 10; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
if (numbers[i] < min) {
min = numbers[i];
}
sum += numbers[i];
}
double average = sum / 10;
// 输出结果
printf("最大值为:%.3lf\n", max);
printf("最小值为:%.3lf\n", min);
printf("平均值为:%.3lf\n", average);
return 0;
}
首先创建了一个大小为 10 的浮点数数组 numbers 来存储用户输入的 10 个浮点数。然后使用 for 循环循环 10 次,每次提示用户输入一个浮点数,并将其存储在数组中。
接下来,使用 for 循环遍历这个数组,并在循环中计算数组中的最大值、最小值和所有元素的总和。通过最大值、最小值和总和可计算出数组的平均值。最后输出这三个值并格式化保留 3 位小数。
另外,需要注意的是,通过 scanf 函数读取浮点数时需要使用 %lf 格式说明符,以告诉编译器需要读取一个双精度浮点数。