华为机试HJ105:记负均正II

简介: 华为机试HJ105:记负均正II

题目描述:

从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0

本题有多组输入数据,输入到文件末尾,请使用while(cin>>)读入

数据范围小于1e6

输入描述:

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

输出描述:

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

示例:

输入:

-13

-4

-7


输出:

3

0.0


解题思路:

本题和之前的记负均正I题类似。将输入的数据分成负数和非负数,先输出负数数组的尺寸,再判断非负数数组是否尺寸为0,若为0直接输出0.0,否则它会输出nan,若不为0则用mean计算均值,再用setprecision控制小数点位数,完毕。

测试代码:

#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
double mean(vector <int>& data) {
  double ans = 0.0;
  for (int i = 0; i < data.size(); i++) {
    ans += data[i];
  }
  ans = ans / data.size();
  return ans;
}
int main()
{
    int number;
    vector<int> pos;
    vector<int> neg;
    while(cin>>number)
    {
        if(number>=0)
            pos.push_back(number);
        else if(number<0)
            neg.push_back(number);
    }
    double result = mean(pos);
    cout<<neg.size()<<endl;
    if(pos.size()==0)
    {
        cout<<"0.0"<<endl;
    }
    else{
        cout<<fixed<<setprecision(1)<<result<<endl;
    }
    return 0;
}
相关文章
|
存储 安全 应用服务中间件
你的ES还在裸奔吗?还不赶紧开启X-Pack权限认证
你的ES还在裸奔吗?还不赶紧开启X-Pack权限认证
2657 0
你的ES还在裸奔吗?还不赶紧开启X-Pack权限认证
|
2月前
|
API 开发者
1688买家/卖家店铺订单API接口指南
1688店铺订单API提供订单查询、详情获取、状态更新等功能,支持与ERP、CRM系统集成。可按条件筛选订单、获取商品及收货信息,同步发货与物流状态,并进行取消订单等操作。使用时需注意密钥授权、调用频率及异常处理,提升订单管理效率。
|
6月前
|
Java 机器人 API
tiktok群控脚本,养号关注私信点赞脚本插件,java代码分享
这个代码模拟了一个社交机器人的基本行为模式,包括登录、关注、点赞、私信等操作。请注意
|
测试技术 开发者
如何确保 Webpack plugin 与其他插件的兼容性?
【10月更文挑战第23天】确保 Webpack plugin 与其他插件的兼容性需要从多个方面进行考虑和努力。通过遵循规范、进行充分测试、保持沟通协作等方式,
|
程序员
【Markdown速成】半小时入门Markdown教程(后缀.md文件详解)
作为程序员我们经常会看到README.md这种说明文件,以.md为后缀的文件就是我们所说的Markdown的文件。
2287 4
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
1551 3
|
Android开发 开发者 Kotlin
Android 多进程情况下判断应用是否处于前台或者后台
本文介绍在多进程环境下判断Android应用前后台状态的方法。通过`ActivityManager`和服务信息`RunningAppProcessInfo`可有效检测应用状态,优化资源使用。提供Kotlin代码示例,帮助开发者轻松集成。
1188 8
|
存储 C语言
C语言详解双向链表的基本操作
C语言详解双向链表的基本操作
424 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的大学生智能消费记账系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的大学生智能消费记账系统的详细设计和实现
315 1
|
Web App开发 缓存 运维
CentOS命令大全:从入门到精通
CentOS命令大全:从入门到精通
1940 1

热门文章

最新文章