列表

详情


HJ105. 记负均正II

描述

输入 n 个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0
本题有多组输入数据,输入到文件末尾。

数据范围: ,其中每个数都满足

输入描述

输入任意个整数,每行输入一个。

输出描述

输出负数个数以及所有非负数的平均值

示例1

输入:

-13
-4
-7

输出:

3
0.0

示例2

输入:

-12
1
2

输出:

1
1.5

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 1ms, 内存消耗: 356KB, 提交时间: 2020-12-21

#include<stdio.h>
 
int main(void)
{
    int n;
    int sum = 0, cnt1 = 0, cnt2 = 0;
    while(scanf("%d", &n) != EOF)
    {
        if(n < 0)
        {
            cnt1++;
        }
        else
        {
            sum += n;
            cnt2++;
        }
    }
    float aver =(float)sum/cnt2;
    printf("%d\n", cnt1);
    printf("%.1f\n", aver);
     
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 360KB, 提交时间: 2021-07-31

#include <stdio.h>

int main(void){
    int InputData;
    int Num1 =0;
    int Num2 = 0;
    double Sum=0.0;
    while (scanf("%d\n", &InputData) != EOF){
        if (InputData<0)
            Num1++;
        else{
            Sum+=InputData;
            Num2++;
        }
        
        //printf("%d\n", InputData);
    }
    printf("%d\n", Num1);
    if (Num2==0)
        printf("0.0\n");
    else
        printf("%.1f\n", Sum/Num2);
    return 0;
}

上一题