只用for语句求平均值的单行输出问题
大家好,初学C++,现在遇到一道用for语句求平均值的问题题目:使用一条for语句求若干整数的平均值并打印结果。假定最后读入的值是标记值9999。
一次运行的示范输入序列如下:
10 8 11 7 9 9999
表明程序应计算9999之前的所有值的平均值。
我的语句如下:
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int total = 0;
int counter;
double average;
int a; //a代表输入值
cout << "Enter(9999 to quit):";
cin >> a; //此行为输入一个值,进行判断
for ( counter = 1; a != 9999; counter++ )
{
cout << a << endl;
total += a;
cin >> a;
//average = static_cast< double >( total )/counter;
}
cout << " The average is:" << average << endl;
system("pause");
return 0;
}
问题来了,程序可以运行,但显示的只是一行一个输入值,就是以下效果
1
2
3
4
怎样才能显示 1 2 3 4 这样的效果?
PS,附带另外一个问题,希望大家可以解答!
如果程序中有一句“cout << fixed <<setprecosion(2);”这样的语句,是表示在这语句之后的所有输出语句,都会显示两位小数吗?