题目描述:
首先输入要输入的整数个数n,然后输入n个整数。输出为n个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。
0即不是正整数,也不是负数,不计入计算
输入描述:
本题有多组输入用例。
首先输入一个正整数n,
然后输入n个整数。
输出描述:
输出负数的个数,和所有正整数的平均值。
示例:
输入:
5
1 2 3 4 5
10
1 2 3 4 5 6 7 8 9 0
输出:
0 3.0
0 5.0
解题思路:
这题是简单的数字分析题。用两个vector分别存放正负数,整数平均值用mean函数计算;输出负数vector的尺寸,再设置cout的小数点保留位,用fixed和setprecision实现,之后输出mean函数的结果即可。
测试代码:
#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; while(cin>>number) { vector<int> pos; vector<int> neg; for(int i=0;i<number;++i) { int t; cin>>t; if(t>0) pos.push_back(t); else if(t<0) neg.push_back(t); } double result = mean(pos); cout<<neg.size()<<" "; cout<<fixed<<setprecision(1)<<result<<endl; } }