B060

01-程序填空题 田少松, 软件154 964浏览

所属年份:2011.3;2011.9

给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:部分源程序在文件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;
}

main( )
{  STD  std[5]={"aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15  };
   STD  max;
   max=fun(std,5);
   printf("\nThe result: \n");
/**********found**********/
   printf("\nName : %s,   Age :  %d\n", ___3___,max.age);
}

【参考答案】

(1)std[0] 
(2)std[i].age 
(3)max.name

【考点分析】
本题考查:变量初始化,if条件表达式,结构体数组元素的应用。

【解题思路】
填空1:变量max用于存储数组中年龄组大的元素。首先将数组的第一个元素赋给max,然后依次向后比较,得到年龄最大的元素,因而在给max赋初值时,应为:max=std[0]。
填空2:if条件判断语句表达的是max.age应该和结构体数组中的每个年龄进行比较,从而得到最大者的年龄。
填空3:从printf的表达式可看出,要输出的值应为年龄最大者的name。