閱讀以下說明和C函數(shù),將應填入(n)處的字句寫在答題紙的對應欄內(nèi)。
【說明】
某班級有N名學生,他們可根據(jù)自己的情況選修名稱和數(shù)量不盡相同的課程。設N等于6,學生信息、所選課程及成績用鏈表結(jié)構(gòu)存儲,如圖5-1所示。
程序中相應的類型定義如下:
#define N 6
struct node{
char cname [5]; /*課程名*/
int grade; /*成績*/
struct node *next; /*指針,指示某學生選修的下一門課程及成績*/
};
struct student{
char xh[5]; /*學號*/
char name[20]; /*姓名*/
struct node *link; /*指針,指示出選修的課程及成績鏈表*/
}stud-info[N];
stud_info[] 為一個全局數(shù)組。
函數(shù)func(char kc[],int *num)的功能是統(tǒng)計選修了課程名為kc的學生的人數(shù),并返回該課程的平均成績(若無人選修該課程,則平均成績?yōu)?),參數(shù)num帶回選修課程kc的學生人數(shù)。
【C函數(shù)】
double func (char kc[] , int *num)
{
int i , count = 0, sum = 0; /*count用于記錄選修課程名為kc的學生的人數(shù)*/
double avg = 0.0;
struct node *p;
for(i = 0 ; i<N ; i++){
p = (1) ; /* 取第i個學生所修課程鏈表的頭指針 */
while (p){
if((2)){
sum = (3);
count++;
break;;
}/* if*/
p = p->next;
}/*while*/
}
(4) ;
if((5))
avg =(double)sum / count; /*計算平均成績*/
return avg;
}/*func*/