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

来源:互联网 发布:知父莫若子by谦心诀 编辑:程序博客网 时间:2024/05/01 10:06

题目描述:首先输入要输入的整数个数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;  }  


0 0
原创粉丝点击