首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 请在程序的下划线处填入正确的内容
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 请在程序的下划线处填入正确的内容
admin
2017-07-27
27
问题
人员的记录由编号和出生年、月、日组成,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://kaotiyun.com/show/97Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列关于C语言数据文件的叙述中正确的是()。
下列字符数组初始化语句中,不正确的是()。
下面函数调用语句含有实参的个数为()。func((exp1,exp2),(exp3,exp4,exp5));
有以下程序#include<stdio.h>intfun(inta,intB){if(b=0)returna;elsereturn(fun(--a,--B));}main(){pdntf("%d\
以下是while语句的基本形式:while(表达式){语句:}其中“表达式”()。
有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main()
设有如下关系表:则下列操作正确的是()。
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);
若有定义inta[5],*p=a;则正确引用数组元素的是()。
随机试题
关于玻璃体积血错误的是
食后偶有嗳气,并无酸腐气味者,为
关于国有独资公司的董事会,下列说法正确的是()。
详细评审是评标的核心,是对标书进行实质性审查,包括()。
甲股份有限公司发生的下列非关联交易中,属于非货币性资产交换的有()。
卡特尔将基于人的先天禀赋、与神经系统的生理机能关联更密切、较少受到后天文化教育影响的智力称为()。
巴西人最喜爱的一种舞蹈是()。
理性认识的特点有()。
智力发展分为两种过程,一种是基础过程,一种是应用过程。持这一观点的学者是()
算法的空间复杂度是指()。
最新回复
(
0
)