python类定义学生_B035 修改学生类型结构体 ★

所属年份:2011.3

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

例如,若传给形参a的数据中学号、姓名和三门课的成绩依次是:10001、”ZhangSan”、95、80、88,修改后的数据应为:10002、”LiSi”、96、81、89。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#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[i]);

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[i]);

printf("\n");

}

【参考答案】

(1) struct student (2) a.name

(3) a.score[i]

【考点分析】

本题考查:函数定义;结构变量成员的表示方法。

【解题思路】

填空1:函数定义时,类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。该题中,用结构类型定义函数类型。

填空2和填空3: 此处考查结构体变量成员的表示方法a、name和a、score[i]分别表示学生的姓名和成绩。