使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储学生的学号、姓名和三门课的成绩。函数fun()的功能是对形参a中的数据进行修改,把修改后的数据作为函

admin2023-02-27  36

问题 使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储学生的学号、姓名和三门课的成绩。函数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 <u>【1】</u>fun(struct student a)
10 {  int i;
11    a.sno=10002;
12 /*********found*********/
13  strcpy(<u>【2】</u>,"LiSi");
14  /*********found*********/
15    for(i=0;i<3;i++)<u>【3】</u>+=1;
16    return a:
17 }
18 main()
19 {  struct student s={10001,"ZhangSan",95,80,88},t;
20    int i;
21    printf("\n\nThe original data:\n");
22  printf("\nNo:%1dName:%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:%1d 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:函数定义时,类型标识符指明了本函数的类型。函数的类型实际上是函数返回值的类型。本题中,用结构类型定义函数类型。故空1处应该填strutt student。
    填空2:字符串复制函数strcpy(),将字符串"LiSi"复制到结构体变量a的成员变量name。故空2处应该填a.name。
    填空3:for循环修改结构体变量a的成员score的元素值,因为成员score是数组,故空3处应该填a.score。  
转载请注明原文地址:https://kaotiyun.com/show/ZP0D777K
0

相关试题推荐
最新回复(0)