首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 请在程序的下划线处填入正确的内容
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 请在程序的下划线处填入正确的内容
admin
2017-07-27
55
问题
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #define N 8
3 typedef struct
4 { int num;
5 int year,month,day;
6 } STU;
7 int fun(STU *std, STU *k, int year)
8 { int i,n=0;
9 for(i=0;i<N;i++)
10 /**********found**********/
11 if(__1__==year)
12 /**********found**********/
13 k[n++]=__2__;
14 /**********found**********/
15 return( __3__);
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,1982,11,15},{7,1982,6,22},{8,1984,8,19}};
19 STU k[N];int i,n,year;
20 printf(’’Enter a year : ’’);scanf(’’%d’’,&year);
21 n=fun(std,k,year);
22 if(n==0)
23 printf(’’\nNo petson was born\n%d\n’’,year);
24 else
25 { printf(’’\nThese persons were born\ n%d\n’’,year);
26 for(1=0; i<n;i++)
27 printf(’’%d %d-%d-%d\n’’, k
.num,k
.year,k
.month,k
.day);
28 }
29 }
选项
答案
(1)std[i].year (2)std[i] (3)n
解析
fun函数的功能是在结构体数组std中找出指定出生年份的人员将其数据放在形参k所指的数组中。
第一空:比较结构体的出生年份是否等于year,std是结构体指针,指向结构体数组的首地址,因此访问一个结构体的year成员是“std
.year”,因此第一空处应为“if(std
.year==year)”。
第二空:这里是将找到的数据放在形参k所指的数组中,k是指针变量,k指向结构体数组的首地址,std
是结构体的地址,因此等号左边也应该是地址,故第二空处应为“k[n++]=std
;”。
第三空:fun函数的返回值是满足指定条件的人数n,故第三空处是“return(n);”。
转载请注明原文地址:https://www.kaotiyun.com/show/97Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列叙述中错误的是()。
在下列选项中,没有构成死循环的程序段是()。
下面函数调用语句含有实参的个数为()。func((exp1,exp2),(exp3,exp4,exp5));
定义结构体数组structstu{intnum;charname[20];}x[5]={1,"ZHAO",2,"QIAN",3,"SUN",4,"LEE",5,"ZHOU"};for(i=1;i<5;i++)
在下列选项中,没有构成死循环的是()。
下面程序的输出结果是()。#include<stdio.h>main(){chara[]={’a’,’b’,’c’,’d’,’f’,’g’},*p;p=a;printf("%c\n",*p+4);}
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
以下程序统计从终端输入的字符中大写字母的个数。用#号作为输入结束标志,请填空。#include<stdio.h>#include<ctype.h>main(){intnum[26],i;charc;for(i=0;i<26
字符串"\\"ABCDEF\"\\”的长度是()。
随机试题
使用VC6打开考生文件夹下的工程test36_3。此工程包含一个test36_3.cpp,其中定义了类CRectangle,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)定义类CRectangle的数据成员width和heigh
急性化脓性腹膜炎病人术后采取半卧位的目的,哪项是错误的
A.体格矮小和智力低下B.体高肌瘦、颈细长、肩窄下垂、胸廓扁平、腹上角<90°C.身体各部分匀称适中,腹上角90°左右D.体格异常高大E.体格粗壮、颈粗短、面红、肩宽平、胸围大、腹上角>90°
(2004)单一频率的声音称之为什么?
隧道掘进中超前支护常用方法及特殊情况下采用的方法有()。
【背景资料】某办公楼由12层主楼和3层辅楼组成。施工单位(乙方)与建设单位(甲方)签订了承建该办公楼施工合同,合同工期为41周。合同约定,工期每提前(或拖后)1天奖励(或罚款)2500元。乙方提交了粗略的施工网络进度计划,并得到甲方的
艾滋病(AIDS)
转基因食品
Nowwhicharetheanimalsreallytobepitiedincaptivity?First,thosecleverbeingswhoselivelyurgeforactivitycanfindn
—"Excuseme,couldyoupleasehavemycomputer______?"—"Ofcourse."
最新回复
(
0
)