阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。 [说明] 某班级有N名学生,他们可根据自己的情况选修名称和数量不尽相同的课程。设N等于6,学生信息、所选课程及成绩用链表结构存储,如图5-1所示。 程序中相应的类

admin2010-01-15  35

问题 阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。
   [说明]
   某班级有N名学生,他们可根据自己的情况选修名称和数量不尽相同的课程。设N等于6,学生信息、所选课程及成绩用链表结构存储,如图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[]为一个全局数组。
   函数func(char kc[],int *num)的功能是统计选修了课程名为kc的学生的人数,并返回该课程的平均成绩(若无人选修该课程,则平均成绩为0),参数num带回选修课程kc的学生人数。
   [C语言函数]
   double func(char kc[], int *num)
   {
       int i, count=0, sum=0; /*count用于记录选修课程名为kc的学生的人数*/
       double avg=0.0;
       struct node *p;
       for(i=0; i<N; i++){
           p=(1); /*取第土个学生所修课程链表的头指针*/
           while (p){
               if((2)){
                   sum=(3);
                   count++;
                   break;;
               } /* if*/
               p=p->next;
           } /*while*/
       }
         (4);
       if((5))
           avg=(double) sum /count; /*计算平均成绩*/
       return avg;
   } /*func*/

选项

答案(1)stud_info[i].link;(2)!strcmp(p->cname,kc);(3)sum+p->grade;(4)*num=count;(5)count!=0

解析
转载请注明原文地址:https://jikaoti.com/ti/ZXW7FFFM
0

最新回复(0)