我在让我的程序找到一组学生GPA的最大值和最小值时遇到一些麻烦。我可以在不使用函数的情况下轻松完成此操作但是当我包含该函数时,我的程序仍然运行良好,但它不计算最大和最小GPA。我已经调试了它,并且根据事物的外观,程序只是直接在它上面运行而不看它。非常感谢您的帮助。这就是我的代码目前的样子:
#include <iostream>
using namespace std;
float array(int arr[], int size)
{
float max = 0;
float min = 4;
int i;
for (i = 0; i <= 2; i++)
{
if (arr[i] > max)
max = arr[i];
if (arr[i] < min)
min = arr[i];
}
cout << "Maximum GPA: " << max;
cout << "Minimum GPA: " << min;
}
int main(int argc, char** argv)
{
int ID[3];
float GPA[3];
int i;
for (i = 0; i <= 2; i++)
{
cout << "Please enter student ID and GPA: " << endl;
cin >> ID[i] >> GPA[i];
array[GPA, i];
}
for (i = 0; i <= 2; i++)
{
cout << endl << "Student ID: " << ID[i] << endl << "Student GPA: " << GPA[i] << endl;
}
return 0;
}
答案 0 :(得分:2)
您正在调用您的函数错误:
array[GPA, i];
应该是
array(GPA, i);
您的代码甚至不应该编译,因为我没有看到array
变量。
您的代码还有其他一些问题。 array
可能是你的函数的一个坏名字 - 有意义的函数名称是很好的做法,std::array
的存在可能会导致问题。 size
函数中的array
未使用,@ jaggedSpire指出。您的array
函数应该是
void array(float arr[], int size)
假设您开始使用size
。
答案 1 :(得分:0)
嗨,我对编程很新,但我觉得你的函数调用数组[GPA,i] 应该是数组(GPA,i);并将其进一步向下移动到刚好超过返回。 它是我第一次尝试回答一个问题,希望它有所帮助。