该程序应该使用一个函数将4个等级收集到一个数组中,使用另一个函数来平均成绩,另一个函数用于显示平均成绩和4个原始成绩。
4个等级必须在0到100之间。
我有这个程序打印出等级[2]只是为了测试它,但它总是输出垃圾。 我在这里做错了什么?
另外,如果我首先在没有“float grade [5]”行的情况下尝试调用getGrades(grade,5),它会告诉我“grade”是未声明的标识符。这让我相信我在写这个功能时做错了。
由于
#include <iostream>
using namespace std;
float computeAverage(float exam1, float exam2, float exam3, float exam4)
{
float average;
average = exam1*.2 + exam2*.2 + exam3*.2 + exam4*.4;
return average;
}
void getGrades(float a[], int size)
{
int i;
float num;
for (i=0; i<4; i++)
{
cin >> num;
if (num>=0 && num <=100)
num = a[i];
else
{
cout << "That number is out of range.";
i--;
}
}
}
int main()
{
float grade[5];
getGrades(grade,5);
grade[4] = computeAverage(grade[0], grade[1], grade[2], grade[3]);
cout << grade[2];
return 0;
}
答案 0 :(得分:5)
您没有将grade
数组中的值存储在getGrades
函数中,这是您获得垃圾值的原因。
更改: -
num = a[i];
到
a[i] = num;
答案 1 :(得分:0)
num = a[i];
应该是
a[i] = num;
欢迎来到计算机科学: - )