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

admin2013-04-02  26

问题 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
    例如:传给形参a的数据中,学号、姓名、和三门课的成绩依次是:10001、”ZhangSan”、95、80、88,修改后的数据应为:10002、”LiSi”、96、81、89。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANKl.C中。
    不得增行或删行,也不得更改程序的结构!
#include       
#include
struct student {
  long sno;
  char name[10];
  float score[3];
};
/**********found**********/
【1】 fun(struct student a)
{int i;
  a.sno = 10002;
/**********found**********/
  strcpy(【2】, "LiSi");
/**********found**********/
  for (i=0; i<3; i++) 【3】+= 1;
  return a;
}
main()
{struct student s={10001,"ZhangSan", 95, 80, 88}, t;
  int i;
  printf("\n\nThe original data :\n");
  printf("\nNo: %ld Name: %s\nScores: ",s.sno, s.name);
  for (i=0; i<3; i++) printf("%6.2f ", s.score);
  printf("\n");
  t = fun(s);
  printf("\nThe data after modified :\n");
  printf("\nNo: %ld Name: %s\nScores: ",t.sno, t.name);
  for (i=0; i<3; i++) printf("%6.2f ", t.score);
  printf("\n");
}

选项

答案struct student a.name a.score[i]

解析 第一空:主函数内fun函数的调用形式是“t=fun(s);”,其中t是student结构体变量,因此fun函数的返回值为student结构体,故第一空处应为“struct student”。
第二空:“strcpy(__2__, "LiSi");”是修改结构体变量a的name成员值,故第二空为“a.name”。
第三空:“for (i=0; i<3; i++) __3__+=1;”是修改a的成员变量score数组元素值,因此第三空为“a.score”。
转载请注明原文地址:https://kaotiyun.com/show/DJJp777K
0

最新回复(0)