C语言初阶牛客网刷题—— HJ97 记负均正【难度:简单】

1. 题目描述

牛客网在线OJ题

1、首先输入要输入的整数个数 n ,然后输入 n 个整数。输出为 n 个整数中负数的个数,和所有正整数的平均值,

结果保留一位小数。

注意: 0 即不是正整数,也不是负数,不计入计算; 本题有多组输入用例。

输入描述:首先输入一个正整数 n ,然后输入 n 个整数。

输出描述:输出负数的个数,和所有正整数的平均值。

2. 代码实现

比较简单,直接实现

在打印的时候需要注意是有小数点的

我在这里有一个总是不能通过

最后加了if else 判断

c 复制代码
#include <stdio.h>

int main() {
    int a;
    int arr[2000] = {0};
    while (scanf("%d ", &a) != EOF) {
        int i = 0;
        for(i = 0; i <a;i++)
        {
            scanf("%d",&arr[i]);
        }
        int count = 0;
        double avg = 0;
        double sum = 0;
        int avg_count = 0;
        for(i = 0;i <a;i++)
        {
            if(arr[i]<0)
            {
                count++;
            }
            else if(arr[i]>0)
            {
                sum+=arr[i];
                avg_count++;
            }
        }
        if(count ==0&&sum == 0)
        {
         printf("%d %d\n",0,0);
        }
        else if(sum == 0&&avg_count == 0){
        avg = 0;
         printf("%d %lf\n",count,avg);
        }
        else {
         avg = sum/avg_count;
         printf("%d %lf\n",count,avg);
 
        }
       
    }
    return 0;
}

总是出现这个nan

NAN的产生原因:

nan: not a number,表示"无效数字"。

1、对负数开方,如:−1.0‾‾‾‾‾√;

2、对负数求对数,如:log(−1.0);

3、0.0 / 0.0;

4、0.0 * inf;

5、inf / inf;

6、nf-inf这些操作都会得到nan。

(0 / 0会产生操作异常;0.0 / 0.0不会产生操作异常,而是会得到nan);

注意:nan是无序的(unordered),无法对其进行逻辑运算。它不大于、小于或等于任何数(包括它自己),将<,>,<=,和>=作用于nan产生一个exception。得到nan时就查看是否有非法操作,如果表达式中含有nan,那么表达式的结果为nan。

相关推荐
爱学习的小囧1 分钟前
VCF 9 实验室网络部署全攻略:从硬件连接到配置实操
开发语言·网络·php
liliangcsdn12 分钟前
LLM如何与mcp server交互示例
linux·开发语言·python
军军君0118 分钟前
Three.js基础功能学习十五:智能黑板实现实例二
开发语言·前端·javascript·vue.js·3d·threejs·三维
维齐洛波奇特利(male)21 分钟前
@Pointcut(“execution(* com.hdzx..*(..))“)切入点与aop 导致无限循环
java·开发语言
郝学胜-神的一滴29 分钟前
[简化版 GAMES 101] 计算机图形学 04:二维变换上
c++·算法·unity·godot·图形渲染·unreal engine·cesium
ZC跨境爬虫29 分钟前
海南大学交友平台开发实战day7(实现核心匹配算法+解决JSON请求报错问题)
前端·python·算法·html·json
爱编码的小八嘎30 分钟前
C语言完美演绎7-7
c语言
来日可期131431 分钟前
C/C++ 反常识记录(1)—— 那些容易踩坑的语法细节
c语言·开发语言·c++
计算机安禾34 分钟前
【数据结构与算法】第41篇:图论(五):拓扑排序与关键路径
c语言·数据结构·c++·算法·图论·visual studio
Q741_14737 分钟前
每日一题 力扣 1320. 二指输入的的最小距离 动态规划 C++ 题解
c++·算法·leetcode·动态规划