2013年计算机二级C语言上机试题及答案13
填空题
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入 结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据, 作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
#define N 8
typedef struct
{ char num[10];
int year,month,day ;
}STU;
___1___ fun(STU *std, char *num)
{ int i; STU a={"",9999,99,99};
for (i=0; i
return (___3___);
return a;
}
main()
{ STU std[N]={ {"111111",1984,2,15},{"222222",1983,9,21},{"333333",1984,9,1},
{"444444",1983,7,15},{"555555",1984,9,28},{"666666",1983,11,15},
{"777777",1983,6,22},{"888888",1984,8,19}};
STU p; char n[10]="666666";
p=fun(std,n);
if(p.num[0]==0)
printf("
Not found !
");
else
{ printf("
Succeed !
");
printf("%s %d-%d-%d
",p.num,p.year,p.month,p.day);
}
}
解题思路:
本题是要求从给定的人员数据中找出编号相同的记录数据。
第一处:从返回值来看,是返回一个结构型的值,所以应填:STU。
第二处:判断结构变量中的编号num是否相等,所以应填:stu[i].num。
第三处:返回编号相等的记录值,所以应填:std[i]。