2451: 股市风云


时间限制: 1 Sec   内存限制: 128 MB

提交: 37  

解决: 25

[

​提交​​][

​状态​​][

​讨论版​​]


题目描述


股市强烈动荡,有涨有跌。现在有一组数据表示各公司的涨跌(涨为正,跌为负,不动为零),要求统计出平均涨幅和平均跌幅。


输入


一组数,其中有正数,也有负数,还有0。输入的个数不定,另外,不会出现只有正数或只有负数的情况。


输出


第一行输出见涨的数目和遇跌的数目;

第二行输出平均涨幅(正数的平均数)和平均跌幅(负数的平均数,再取反),保留小数点后3位。


样例输入

5 0 -1 1.5 2.3 -0.3 2.4 0 7.9 -4.3

样例输出

5 3
3.820 1.867

提示


(1)用于处理不定数目的输入,参考:



int main()


{


int a,b;


while(cin >>a)


{


cout << a << endl;


}


return 0;


}


(2)输出x的值,保留两位小数,用:

cout<<setiosflags(ios::fixed)<<setprecision(3)<<x<<endl;




迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……


#include <iostream>
#include <cstdio>
#include <math.h>
#include <iomanip>
using namespace std;
int main()
{
int x=0,y=0;
double a,sum1=0,sum2=0;
while(cin>>a)
{
if(a>0)
{
sum1=sum1+a;
x++;
}
else if(a<0)
{
sum2=sum2+a;
y++;
}
}
cout<<x<<" "<<y<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(3)<<fabs(sum1/x)<<" "<<fabs(sum2/y)<<endl;
return 0;
}