程序通过定义学生结构体变量,存储学生的学号、姓名和三门课的成绩。函数fun的功能是:将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。 例如,若传给形参a的数据中学号、姓名和三门课的成绩依次是:10001、“ZhangSan”、

admin2016-12-06  32

问题 程序通过定义学生结构体变量,存储学生的学号、姓名和三门课的成绩。函数fun的功能是:将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
    例如,若传给形参a的数据中学号、姓名和三门课的成绩依次是:10001、“ZhangSan”、95、80、88,修改后的数据应为:10002、“LiSi”、96、81、89。
    请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
    注意:部分源程序给出如下。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
1   #include<stdio.h>
2  #include<string.h>
3  struct student{
4    long sno;
5    char name[10];
6    float score[3];
7  };
8  /*********found*********/
9   【1】 fun(struct student a)
10  {  int i ;
11    a.sno=10002;
12    /*********found/*********
13  strcpy(【2】,’’LiSi’’);
14    /*********found/*********
15    for(i=0;i<3;i++)【3】+=1;
16    return a;
17  }
18   main()
19    {  struct student s={10001,’’ ZhangSann’’, 95,80 ,88},t;
20    int i;
21   printf(’’\n\nThe original data:\n’’);
22  printf(’’\nNo:%1d Name:%s\n Scores:’’,s.sno,s.name);
23    for(i=0;i<3;i++)
24   printf(’’%6.2f’’,s.score);
25  printf(’’\n’’);
26   t=fun(s);
27  printf(’’\nThe data after modified:\n’’);
28   printf(’’\nNo:%id Name:%s\n Scores:’’,t.sno ,t.name);
29    for(i=0 ; i<3;i++)
30    printf(’’%6.2f’’,t.score);
31    printf(’’\n’’);
32  }

选项

答案(1)struct student (2)a.name (3)a.score[i]

解析 填空1:函数定义时,类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。本题中,用结构类型定义函数类型。
填空2和填空3:此处考查结构体变量成员的表示方法,a.name和a.score分别表示学生的姓名和成绩。
转载请注明原文地址:https://kaotiyun.com/show/jNDp777K
0

最新回复(0)