用c语言输入n个(1<n<=10)正整数并保存到一个数组中,求出最大值、最小值、平均值(保留2位小数),以及最大值、最小值在数组中的下标分别是多少。
时间: 2024-11-06 17:20:26 浏览: 189
找出给定一系列整数中的最小值——C语言代码
在C语言中,你可以按照以下步骤来实现这个功能:
首先,你需要定义一个足够大的数组来存储输入的正整数,并通过`scanf`函数从用户那里获取输入。然后,遍历数组来找到最大值、最小值,同时计算总和,以便后续求平均值。最后,记录最大值和最小值的位置。
以下是一个简单的示例程序:
```c
#include <stdio.h>
#define MAX_NUMS 10
int main() {
int nums[MAX_NUMS];
int n, i, max_index = 0, min_index = 0;
float sum = 0.0, average;
printf("请输入数字的个数 (1-%d): ", MAX_NUMS);
scanf("%d", &n);
if (n > MAX_NUMS || n <= 0) {
printf("输入错误! 数字个数应介于1到%d之间.\n", MAX_NUMS);
return 1;
}
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
if (i == 0 || nums[i] > nums[max_index]) {
max_index = i;
}
if (i == 0 || nums[i] < nums[min_index]) {
min_index = i;
}
sum += nums[i];
}
average = (float)sum / n;
printf("最大值 %d 在位置 %d, 最小值 %d 在位置 %d.\n", nums[max_index], max_index, nums[min_index], min_index);
printf("平均值 %.2f.\n", average);
return 0;
}
```
在这个程序中,我们使用了`if`条件检查来更新最大值和最小值的索引,同时也计算了所有数字的和。注意,由于浮点数除法可能会有精度损失,所以我们将结果强制转换为浮点型并保留两位小数。如果用户输入的数据不符合范围,我们会给出相应的提示。
阅读全文