首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
44
问题
请编写函数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语言中最基本的数据类型包括()。
对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为
以下选项中正确的定义语句是( )。
下面描述中正确的是
以下程序段中,与语句k=a>b?(b>c?1:0):0;功能相同的是()。
若要求从键盘读入含有空格字符的字符串,应使用函数
有以下程序#include<stdio.h>main(){inta=5,b=1,t;t=(a<<2)|b;printf("%d\n",t);}
计算机能直接执行的程序是
C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是()。
程序流程图中带有箭头的线段表示的是
随机试题
某甲捏造某乙(某机关干部)受贿20000元,并写成小字报四处散发、张贴,致使某乙名誉受到很大损害。某甲的行为属于()。
道德的核心问题是()的问题。
Conversationbeginsalmostthemomentwecomeintocontactwithanotherandcontinuesthroughouttheday【C1】______theaidofcel
心理健康的规定不是一成不变的,它可以随着社会及个体的变化不断调整。心理平衡表现为没有欲望和观念的冲突,没有紧张、焦虑、畏缩等不良情绪反应。心理健康就是人通过不断的心理活动,把由于种种原因造成的心理失衡调适为心理平衡的状态。这段文字意在表明()。
在计算钢筋混凝土构件挠度时,同号弯矩区段内的刚度取()。
滑坡防治的工程措施类别主要有()。
商业银行在办理个人住房贷款业务时,应区别判断抵押物状况,抵押物价值的确定以该房产()为准。
A.急性B淋巴细胞性白血病B.急性T淋巴细胞性白血病C.急性粒细胞性白血病D.急性红白血病E.急性巨核细胞性白血病CDl9阳性见于
有下列程序段:typedefstructNODE{intnum;structNODE*next;}OLD;下列叙述中正确的是()。
Definingthemeaningof’"happiness"isaperplexingproposition;thebestonecandoistotrytosetsomeextremestotheidea
最新回复
(
0
)