程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如:a所指变量中的学号、姓名、和三门课的成绩依次是:10001、”Z

admin2013-04-02  24

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

选项

答案a b.name score[i]

解析 第一空:fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,因此第一空处为“a”。
第二空:“strcpy(__2__, "LiSi");”是修改b中的姓名,因此第二空处为“b.name”。
第三空:“for (i=0; i<3; i++)  printf("%6.2f ",  b.__3__);”是输出修改后的数据,因此第三空为“score”。
转载请注明原文地址:https://kaotiyun.com/show/tDJp777K
0

最新回复(0)