首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在a[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在a[2]中,依此类推,把1
请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在a[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在a[2]中,依此类推,把1
admin
2021-07-09
60
问题
请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在a[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在a[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 #define N 50
3 #define M 11
4 void fun(int*a,int*b)
5 {
6
7 }
8 double rnd()
9 {
10 static t=29,c=217,m=1024,r=0;
11 r=(r*t+c)%m;
12 return((double)r/m);
13 }
14 void main()
15 {
16 FILE*wf;
17 int age[N],i,d[M];
18 int b[N]={32,4 5,15,12,86,49,97,3,4 4,52,17,95,63};
19 for(i=0;i
20 age
=(int)(115*rnd());/*产生一个随机的年龄数组*/
21 printf(’’The original data:\n’’);
22 for(i=0;i
23 printf((i+1)%10==07’’%4d\n’’:’’%4d’’,age
);/*每行输出10个数*/
24 printf(’’\n\n’’);
25 fun(age,d);
26 for(i=0;i<10 ; i++)
27 printf(’’%4d---%4d:%4d\n’’,i*10,i*10+9,d
);
28 printf(’’Over 100:%4d\n’’,d[10]);
29 /*****************/
30 wf=fopen(’’out.dat’’,’’w’’);
31 fun(b,d);
32 for(i=0;i<10;i++)
33 fprintf(wf,’’%4d--%4d:%4d\n’’,i*10,i*10+9,d
);
34 fprintf(wf,’’Over 100:%4d’’,[10]);
35 fclose(wf);
36 /*****************/
37 }
选项
答案
1 void fun(int *a,int *b) 2 { 3 int i,j ; 4 for(j=0 ; j
=100) 8 b[10]++;/*如果年龄大于等于100,b[10]自增1*/ 9 else 10 b[a[i]/10]++;/*如果年龄小于100,则将其分别统计到b[a[i]/10]中*/ 11 }
解析
本题是一个分段函数的问题,用两个循环米完成。第1个循环的作用是使b中的所有元素值都为0。这个循环不能省略,因为若未对b中的元素赋初值,则它们的值是不可预测的。第2个循环的作用是分别统计a中各年龄段的人数。当a
≥100时,按题意要将其统计到h[10]中。else的作用是如果年龄小于100,则将其分别统计到b[a
/10]中。由运算优先级可知先进行a
/10的运算,所得结果作为h的下标。若a
为0~9时,a
/10的值为0,且0~9岁的人数正好要存入b[0]中。若a
为10~19时,a
/10的值为1,且10~19岁的人数正好要存入b[1]中,依此类推。
转载请注明原文地址:https://kaotiyun.com/show/yskp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是
设有以下函数:voidfun(intn,char*s){……}则下面对函数指针的定义和赋值均正确的是()。
设变量均己正确定义,若要通过scanf(”%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:口代表空格字符)
以下叙述中错误的是
以下选项中,能用作用户标识符的是
计算机能直接执行的程序是
下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值:例如,若m的值为5,则应输出1.463611。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序
在数据库中,数据模型包括数据结构、数据操作和
设有说明int(*ptr)[M];其中的标识符ptr是()。
在16位编译系统上,若有定义“inta[]={10,20,30},*p=a;”,当执行“p++;”后,下列说法错误的是
随机试题
Weighingyourselfregularlyisawonderfulwaytostayawareofanysignificantweightfluctuations.【C1】________,whendonetoo
下列哪项不是截肢术的近期并发症:()
虚寒痢的治法是
哪项不能体现医疗机构从业人员“优质服务、医患和谐”的行为规范
中国吝啬鬼形象的典型代表人物是()。
教育学意义上的教学是()
关于宪法、宪政与民主的关系,下列说法不正确的是()。
在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块有512字节。文件控制块占64字节,其中文件名占8个字节。通常将文件控制块分解成两部分,第一部分占16字节(包括文件名和文件内部号),第二部分占48字
CD光盘片根据其制造材料和信息读写特性的不同,可以分为CD-ROM、CD-R和CD-RW、CD-R光盘指的是________。
Whoiscalled"fatherofEnglishandEuropeannovels"?
最新回复
(
0
)