【发布时间】:2016-03-30 03:46:49
【问题描述】:
练习文字:
使用数组编写一个程序,要求用户输入 10 个数字,然后计算这些数字的平均值并找出大于或等于平均值的总数。例如,您输入了 10 个数字:1,2,3,4,5,-1,-2,-3,-4,-5。平均值为 0。大于或等于平均值的总数为 5,即 1、2、3、4、5。
你必须使用循环来解决这个问题。
到目前为止我的代码:
using namespace std;
#include <iostream>
int main()
{
double nums[10];
double sum = 10;
double averageNums;
int numsGreaterThan = 0;
for ( int i = 0; i < 10; i++ )
{
cout << "Enter number " << i +1 << ": ";
cin >> nums;
sum = sum + nums;
}
averageNums = sum / 10;
for ( int j = 0; j < 10; j++ )
{
if ( nums[j] >= averageNums )
numsGreaterThan++;
}
cout << numsGreaterThan << " numbers are greater than the average.";
system ("pause");
}
我正在努力解决的错误:
错误 1 错误 C2679:二进制“>>”:未找到采用“双 [10]”类型的右侧操作数的运算符(或没有可接受的转换)
错误 2 错误 C2111: '+' : 指针加法需要整数操作数
IntelliSense:没有运算符“>>”与这些操作数匹配 操作数类型为:std::istream >> double [10]
IntelliSense:表达式必须具有算术或非范围枚举类型
【问题讨论】:
-
在错误信息中加上行号会更好。
-
你真的不应该把
using namespace std放在包含前面
标签: c++ arrays loops std average