使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun()的功能是将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main()函数中输出。 请在程序

admin2023-02-27  10

问题 使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun()的功能是将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main()函数中输出。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:部分源程序给出如下。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
1 #inclucte<stdio.h>
2 typedef struct
3 {char name[10];
4   int age;
5 }STD;
6 STD fun(STD std[],int n)
7 {STD max;int i;
8  /*********found*********/
9  max=<u>【1】</u>;
10  for(i=1;i<n;i++)
11 /*********found*********/
12    if(max.age<<u>【2】</u>)
13    max=std;
14    return max;
15 }
16 main()
17 {  STD std[5]={"aaa",17,"    bbb",16,"ccc",18,"ddd",    17,"eee",15};
18    STDmax;
19    max=fun(std,5);
20    printf("\nThe result:\n");
21  /*********found*********/
22  printf("\nName:%s,Age:%d\n",  <u>【3】</u>,max.age);
23  }

选项

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

解析 填空1:变量max用于存储数组中年龄最大的元素。首先将数组的第1个元素赋给max,然后依次向后比较,得到年龄最大的元素,因此在给max赋初值时,空1处应该填std[0]。
    填空2:if条件判断语句表达的是max.age应该和结构体数组中的每个年龄进行比较,从而得到年龄最大者的数据。故空2处应该填std.age。
    填空3:从printf()的表达式可看出,要输出的值应为年龄最大者的name。故空3处应该填max.name。  
转载请注明原文地址:https://kaotiyun.com/show/qD0D777K
0

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