/*
本文系「人工智能安全」(微信公众号)原创,转载请联系本文作者(同博客作者)。
欢迎你转发分享至朋友圈,并给予「关注、星标、点赞」三连支持。互相欣赏,互相批判。
我是一名有诗人气质的网络安全工程师
期待与你的思想交流碰撞出智慧的花火
水木清华
2020-03-20
记负均正II
*/
#include <iostream>
#include<iomanip> //包含格式控制函数 setiosflags() 和输出数的位数控制函数 setprecision() 的头文件
using namespace std;
//主函数
int main()
{
int num; //输入整数
int count1 = 0; //计数器,记录负数的个数
int count2 = 0; //计数器,记录正数的个数
float sum = 0.0; //记录正数之和
float mean = 0.0; //均值
while (cin >> num)
{
if (num < 0)
{
count1++;
}
else if (num > 0)
{
count2++;
sum += num;
}
}
//避免 0 做除数
if (count2 > 0)
{
mean = sum / count2;
}
//setiosflags(ios::fixed|ios::showpoint) 控制输出格式;setprecision() 设置精度,控制输出数的位数;
//对应的,本题需要实现“若出现小数,则保留一位小数”,即控制小数部分有且仅有一位输出,故有如下代码。
cout << count1 << '\n' << setiosflags(ios::fixed|ios::showpoint) << setprecision(1) << mean << endl;
return 0;
}