使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,人员的记录由编号和出生年、月、日组成,N名人员的记录已在主函数存入结构体数组std中。函数fun()的功能是找出指定出生年份的人

admin2023-02-27  18

问题 使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,人员的记录由编号和出生年、月、日组成,N名人员的记录已在主函数存入结构体数组std中。函数fun()的功能是找出指定出生年份的人员,将其记录放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:部分源程序给出如下。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
1 #include<stdio.h>
2 #define N 8
3 typedef struct
4 {  int num;
5  int year,month,day;
6 } STU;
7 int fun(STV*std,STU*k,int year)
8 {int i,n=0;
9     for(i=0;i<N;i++)
10  /*********found*********/
11    if(<u>【1】</u>==year)
12  /*********found*********/
13    k[n++]=<u>【2】</u>;
14  /*********found*********/
15  return(<u>【3】</u>);
16 }
17 main()
18 {STU std[N]={{1,1984,2,
15},{2,1983,9,21},{3,1984,9,
1},{4,1983,7,15},{5,1985,9,
28},{6,1 982,11,15},{7,1982,6,
22},{8,1984,8,19}};
19  STU k[N];int i,n,year;
20  printf("Enter a year:");
21  scanf("%d",&year);
22  n=fun(std,k,year);
23  if(n==0)
24    printf("\nNo persop was born in%d\n",year);
25    else
26 {printf("\nThese persons were born in%d\n",year);
27    for(i=0;i<n;i++)
28    printf("%d%d-%d-%d\n",k.num,k.year,k.month,k.day);
29 }

选项

答案(1)std[i].year (2)std[i] (3)n

解析 本题要求从给定的人员数据中找出与指定出生年份相同的记录,并存入变量k中,返回符合条件的人数。
    填空1:此空判断结构体变量中的年份与变量year是否相等,故空1处应该填std.year。
    填空2:把符合条件的记录std依次存入数组k中,故空2处应该填std
    填空3:函数返回满足条件的人数,数组k的元素下标n,每存储完一个数据后自增1,故空3处应该填n。  
转载请注明原文地址:https://kaotiyun.com/show/aJ0D777K
0

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