首页 > 编程 > C++ > 正文

[华为OJ--C++]064-记负均正

2019-11-08 02:11:07
字体:
来源:转载
供稿:网友

题目描述:首先输入要输入的整数个数n,然后输入n个整数。输出为n个整数中负数的个数,和所有正整数的平均值。

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

输出描述:输出负数的个数,和所有正整数的平均值。注:输出  当平均值为整数直接输出,如果不为整数保留一小数。

输入样例:5 1 2 3 4 5

输出样例:0 3

算法实现:

#include<iostream>  #include<vector>#include<iomanip>using namespace std;    //************************************************    // * Author: 赵志乾    // * Date: 2017-2-19     // * Declaration: All Rigths Reserved !!!    //***********************************************/    int main()  {      int num;	cin>>num;	vector<int>data(num,0);	for(long i=0;i<num;i++)	{		cin>>data[i];	}	int nnum=0,pnum=0;	int sum=0;	for(int i=0;i<num;i++)	{		if(data[i]<0)			nnum++;		else if(data[i]>0)		{			pnum++;			sum+=data[i];		}	}	cout<<nnum<<' ';	if(pnum==0)		cout<<0<<endl;	else if(sum%pnum==0)		cout<<sum/pnum<<endl;	else	{		double ret=1.0*sum/pnum;		cout.setf(ios::fixed); 		cout.PRecision(1);		cout<<ret<<endl;	}    return 0;  }  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选