编写一个程序,用户从键盘输入若干正整数,以-1为结束输入标记。计算并输出用户输入偶数的个数,及所有数据的平均数
时间: 2024-02-26 09:56:20 浏览: 92
可以使用循环来实现用户输入若干正整数并计算偶数的个数和所有数据的平均数,程序代码如下:
```c
#include<stdio.h>
int main(){
int num, sum = 0, count = 0;
printf("请输入若干正整数(以-1结束输入):\n");
scanf("%d", &num);
while(num != -1){
if(num % 2 == 0){
count++;
}
sum += num;
scanf("%d", &num);
}
printf("偶数的个数为:%d\n", count);
if(sum == 0){
printf("没有输入数据!\n");
}else{
double average = (double)sum / (count + (sum == 0 ? 1 : 0));
printf("所有数据的平均数为:%.2f\n", average);
}
return 0;
}
```
程序首先提示用户输入若干正整数,使用循环读取用户输入。在循环中,如果当前输入的数是偶数,计数器 `count` 就加1;累加器 `sum` 加上当前输入的数。当用户输入 -1 时,循环结束。最后,程序根据累加器 `sum` 的值来判断是否存在输入数据。如果 `sum` 的值为0,则没有输入数据;否则,计算所有数据的平均数并输出结果。需要注意的是,为了避免整型除法的问题,需要将累加和转换为 `double` 类型,再除以数据个数。
阅读全文