华为机试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权限认证
2329 0
你的ES还在裸奔吗?还不赶紧开启X-Pack权限认证
|
消息中间件 Java Apache
RocketMQ5.0 搭建 Name Server And Broker+Proxy 同进程部署、搭建RocketMQ控制台图形化界面
RocketMQ5.0 搭建 Name Server And Broker+Proxy 同进程部署、搭建RocketMQ控制台图形化界面
1889 0
|
安全 Java Linux
docker阿里云镜像加速
我们都知道因为某些原因我们访问外网都是比较慢的,比如我们使用maven下载依赖时是一个道理,同样的使用docker从docker.hub上下载镜像也是比较慢的。针对这种访问官网比较慢的情况有两种方案,第一种就是使用国内的仓库,第二种就是使用一个加速器。这里我们配置docker的镜像加速从来来实现提速。
13461 1
docker阿里云镜像加速
|
NoSQL 安全 Redis
如何查看Redis的用户名和密码
【7月更文挑战第29天】
3757 3
|
Java API 开发者
|
算法 Java
Java将16进制的字符串转换为10进制数的方法
【6月更文挑战第27天】Java将16进制的字符串转换为10进制数的方法
2664 0
|
Dubbo Java 应用服务中间件
Spring Boot整合Dubbo+Zookeeper实现RPC调用
Spring Boot整合Dubbo+Zookeeper实现RPC调用 技术栈说明 Dubbo:Dubbo作为RPC框架,能在多个服务之间实现远程服务的调用。比如有两个独立的微服务A和B,A服务想要调用B服务时,因为两者不在同个内存空间中,不能直接调用,所以可以通过Dubbo实现这点。 功能和Spring Cloud的Feign相同,两者都是应用于微服务架构的远程调用框架 Zookeeper:作为注册中心去管理Dubbo服务,这点和Eureka、Nacos相同。 概述 通过一个示例说明Dubbo+Zookeeper在Spring Boot中的应用。 现有两个服务provider和con
438 4
|
存储 缓存
解决Gradle: Connection timed out问题
解决Gradle: Connection timed out问题
5121 0
|
监控 NoSQL Redis
基于Docker的Redis高可用集群搭建(redis-sentinel)
前言   之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该redis主从集群并非是高可用的。
8418 1