在给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
typedef struct
char name[10];
int age;
STD;
STD fun(STD std[],int n)
STD max;
int i;
/**********found**********/
max= (1) ;
for(i=1;i<n;i++)
/**********found**********/
if(max.age< (2) )max=std[i];
return max;
void main( )
STD std[5]="aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15;
STD max;
max=fun(std,5);
printf("The result\n");
/***********found**********/
printf("Name:%s,Age:%d\n", (3) ,max.age);
参考答案:max.name
解析: 函数fun的功能是求出年龄最大者。分析程序可知算法如下:首先将结构体数组中的第一个元素即第一个人的相关信息赋值给max,然后再通过i循环将max.age与剩余的每一个人的年龄进行比较,若比max.age大,则将此人的信息赋值给max,始终要保证max中存放已经比较过的数据中的最大值。最后将max返回到main中输出相关结果。第1空对max赋值,max是一个结构体变量,所以将结构体数组中的第一个元素即std[0]赋给它;对于第2空,将max.age与剩余的每一个人的年龄进行比较,所以第2空处应填入std[i].age。对于第3空,输出年龄最大者的姓名,年龄最大者的相关信息存放在结构体变量max中,输出其中的姓名,应该填入max.name。