帮忙看看为啥第22行函数输出错误

#include

using namespace std;
#include
#include

const int NUM_GRADES = 10;
const int NUM_STUDENTS = 3;

int findHigest( int a[]);
int findLowest( int b[ ] );
void printDatabase( int a[3] [10], char b[3 ][6]);

int main()
{ int student[3][10]={{ 51,90,67,67,84,98,80,63,60,76},{76, 89, 81, 42, 66, 93, 104, 91, 71, 85},
{65, 69, 91,89, 82, 93, 72, 76, 79, 99}};
char names[ NUM_STUDENTS ][6] = { "Bob", "John", "Joe" };
int database[ NUM_STUDENTS ] [ NUM_GRADES ];
int i;int a[1]={1};

printDatabase(student,names);
for ( i = 0; i < NUM_STUDENTS; i++)
{
cout << names[ i ] << " ’s highest grade is: "
<<findHighest(student[i])<<endl
<< names[ i ]<< " ’s lowest grade is: "
<<findLowest(student[i])<<endl
;
}
return 0;
}
int findHighest( int a[])
{
int highest = a[ 0 ];

for (int i = 0; i <= NUM_GRADES; i++)
if (a[ i ] > highest )
highest = a [ i ];

return highest;
}

int findLowest( int a[ ] )
{
int lowest = a[ 0 ];

for ( int i = 0; i < NUM_GRADES; i++ )
if ( a[ i ] < lowest )
lowest = a[ i ];

return lowest;
}

void printDatabase( int a[ ] [ NUM_GRADES ], char names [3 ][6] )
{
cout << "Here is the grade database\n\n"
<< setw( 10 ) << "Name";

for ( int n = 1; n <= NUM_GRADES; n++ )
cout<< setw( 4 ) << n;

cout << endl;

for ( int i = 0; i < 3; i++ )
{
cout << setw( 10 ) << names[i];

 for ( int j = 0; j < NUM_GRADES; j++ )
   cout << setw ( 4 ) << a[i][j];

 cout << endl;

}
cout << endl;
}

楼主,你的函数定义放在了main函数外面,所以执行main中的函数调用时,会出现找不到函数定义的错误;你只需要对函数的定义在main函数中进行声明
就可以运行了。下面的代码我已经给你调试好:

 #include<stdio.h>
using namespace std;
#include <iostream>
#include<iomanip>
const int NUM_GRADES = 10;
const int NUM_STUDENTS = 3;
int findHigest( int a[]);
int findLowest( int b[ ] );
void printDatabase( int a[3] [10], char b[3 ][6]);

/***************************************************/
#if 1
int findHighest( int a[]);
int findLowest( int a[ ] );
void printDatabase( int a[ ] [ NUM_GRADES ], char names [3 ][6] );
#endif
/***************************************************/

int main()
    { int student[3][10]={{ 51,90,67,67,84,98,80,63,60,76},{76, 89, 81, 42, 66, 93, 104, 91, 71, 85},
    {65, 69, 91,89, 82, 93, 72, 76, 79, 99}};
char names[ NUM_STUDENTS ][6] = { "Bob", "John", "Joe" };
int database[ NUM_STUDENTS ] [ NUM_GRADES ];
int i;int a[1]={1};
printDatabase(student,names);
for ( i = 0; i < NUM_STUDENTS; i++)
    {
     cout << names[ i ] << " ’s highest grade is: "
        <<findHighest(student[i])<<endl
        << names[ i ]<< " ’s lowest grade is: "
        <<findLowest(student[i])<<endl
        ;
    }
return 0;
    }



int findHighest( int a[])
    {
    int highest = a[ 0 ];
    for (int i = 0; i <= NUM_GRADES; i++)
        if (a[ i ] > highest )
            highest = a [ i ];
    return highest;
    }

int findLowest( int a[ ] )
    {
    int lowest = a[ 0 ];
    for ( int i = 0; i < NUM_GRADES; i++ )
        if ( a[ i ] < lowest )
            lowest = a[ i ];
    return lowest;
    }
void printDatabase( int a[ ] [ NUM_GRADES ], char names [3 ][6] )
    {
    cout << "Here is the grade database\n\n"
        << setw( 10 ) << "Name";
    for ( int n = 1; n <= NUM_GRADES; n++ )
        cout<< setw( 4 ) << n;
    cout << endl;
    for ( int i = 0; i < 3; i++ )
        {
        cout << setw( 10 ) << names[i];
        for ( int j = 0; j < NUM_GRADES; j++ )
            cout << setw ( 4 ) << a[i][j];

        cout << endl;
        }
    cout << endl;
    }