c语言,使用数组,输入一个正整数n(0≤n≤10),再输入n个整数,输出平均值(保留两位小数)。
时间: 2024-12-14 15:14:59 浏览: 34
在C语言中,你可以通过以下步骤来实现这个功能:
- 首先,创建一个动态数组来存储用户输入的整数。由于不知道具体的n值,可以使用
malloc
函数分配内存。
int *numbers = malloc(n * sizeof(int));
- 接下来,提示用户输入n个整数,并将它们逐个添加到数组中。这里需要用到循环和
scanf
函数。
for (int i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
- 计算数组元素的总和。使用变量
sum
记录所有数值之和。
int sum = 0;
for (int i = 0; i < n; i++) {
sum += numbers[i];
}
- 计算平均值。使用数组长度除以总和并乘以100得到保留两位小数的结果,然后除以100避免浮点误差。
double average = (double) sum / n * 100.0;
- 使用
printf
函数将结果输出,记得格式化以便保留两位小数。
printf("平均值为: %.2f\n", average);
- 最后别忘了释放之前分配的内存,防止内存泄漏。
free(numbers);
完整的代码片段如下:
```c #include <stdio.h> #include <stdlib.h>
int main() { int n; printf("请输入一个正整数n(0 <= n <= 10): "); scanf("%d", &n);
if (n > 10 || n < 0) {
printf("错误: 输入的值超出范围。\n");
return 1;
}
int *numbers = malloc(n * sizeof(int));
double sum = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
sum += numbers[i];
}
double average = (double) sum / n * 100.0;
printf("平均值为: %.2f\n", average);
free(numbers);
return 0;
}
相关推荐









