输入一组非0整数(以输入0作为结束标志)到一维数组中,设计一程序,求出这一组数的平均值,并分别统计出这一组数中正数和负数的个数。
时间: 2024-05-01 19:21:05 浏览: 288
C语言第七章数组的介绍
可以使用循环读入输入的整数,并使用计数器分别记录正数和负数的个数,累加总和,最后求平均值。具体实现如下:
```c
#include <stdio.h>
int main() {
int nums[100]; // 定义数组,最多存放100个整数
int i = 0, n = 0, pos = 0, neg = 0, sum = 0;
while (1) {
printf("请输入一个整数(输入0结束):");
scanf("%d", &n);
if (n == 0) {
break; // 如果输入0,则退出循环
}
nums[i] = n;
i++;
if (n > 0) {
pos++; // 统计正数个数
} else {
neg++; // 统计负数个数
}
sum += n; // 累加总和
}
if (i == 0) {
printf("没有输入任何数!\n");
} else {
printf("平均值为:%.2f\n", (float)sum/i); // 求平均值
printf("正数个数:%d\n", pos);
printf("负数个数:%d\n", neg);
}
return 0;
}
```
上述代码中,使用`while(1)`创建了一个死循环,直到用户输入0才会跳出循环。在循环中,使用`scanf`函数读入一个整数,并将其存放在数组`nums`中,同时根据正负情况分别统计正数和负数个数,累加总和。最后根据循环次数计算平均值,输出结果。需要注意的是,在输入一组数时,需要定义一个数组,而数组的大小应该足够存放所有输入的数,因此上述代码中定义了一个大小为100的数组`nums`。
阅读全文