题目描述
输入 n 个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0
本题有多组输入数据,输入到文件末尾。
数据范围:1 <= n <= 50000,其中每个数都满足 |val| <= 10^6
输入描述:
输入任意个整数,每行输入一个。
输出描述:
输出负数个数以及所有非负数的平均值
示例1
输入:
-13
-4
-7
输出:
3
0.0
示例2
输入:
-12
1
2
输出:
1
1.5
题解思路
- 输入时,需要记录输入的个数,注意有多组数据
代码实现
#include <stdio.h>
int main()
{
int i = 0;
float sum = 0;
int num = 0;
int s = 0;
while(scanf("%d", &i) != EOF) {
if(i >= 0) {
sum += i;
num++;
}
s++;
}
printf("%d\n", s - num);
float average = num == 0 ? 0 : sum / num;
printf("%.1f\n", average);
return 0;
}