计负均正
题目描述
从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。
保留两位小数
输入
输出
样例输入
1 2 3 4 5 6 7 8 9 10
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10
样例输出
10
5.50
代码
#include<iostream>
#include<iomanip> using namespace std; int main() { int n=20; int num=0; int i=0; double average=0; int x; int sum=0; cout<<"请输入20个整型数"<<endl; while(n--) { cin>>x; if(x<0) { num++; } else { i++; sum+=x; average=(double)sum/i; } } cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); cout<<"负数的个数为"<<num<<endl; cout<<"所有正数的平均值为"<<average<<endl; return 0;
}
体会:
cout方法:
要使用下面的控制符,你需要在相应的源文件中包含头文件“iomanip”。也就是添加如下代码: #include <iomanip>
控制符---描 述
dec --- 置基数为10,后由十进制输出(系统默认形式)
hex --- 置基数为16,后由十六进制输出
oct --- 置基数为8,后由八进制输出
setfill(c) --- 设填充字符为c
setprecision(n) --- 设置实数的精度为n位
setw(n) --- 设
域宽为n个字符
setiosflags(ios::fixed) --- 固定的浮点显示
setiosflags(ios::scientific) --- 指数表示
setiosflags(ios::left) ---
左对齐
setiosflags(ios::right) ---
右对齐
setiosflags(ios::skipws) --- 忽略前导空白
setiosflags(ios::uppercase) --- 16进制数大写输出
setiosflags(ios::lowercase) ---16进制数小写输出
其中:setw设置域宽,使用一次就得设置一次,其他的函数,设置一次永久有效。