首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
89
问题
请编写函数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全国计算机二级
相关试题推荐
设有以下语句typedefstructTT{charc;inta[4];)CIN;则下面叙述中正确的是
以下结构体说明和变量定义中,正确的是
有以下程序#include#defineS(x)4*(x)*x+1voidmain(){intk=5,j=2;printf("%d\n",S(k+j));}程序运行后的输
可在C程序中用作用户标识符的一组标识符是()。
定义部门关系模式:部门(部门号,部门名,部门成员,部门总经理),使它不满足第一范式的属性是
计算机能直接执行的程序是
C语言程序的模块化通过以下哪个选项来实现
在数据管理技术发展的三个阶段中,数据共享最好的是
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是
对如下二叉树进行后序遍历的结果为
随机试题
简述秦汉时期边疆的开拓与文明的同步发展。
《郑伯克段于鄢》一文中出现的谋臣是()
阴道假丝酵母菌病的带下特点是
A、麻黄碱B、小檗碱C、苦参碱D、莨菪碱E、乌头碱与碱液接触易发生消旋化的药物是()。
《中国人民银行法》规定的我国货币政策工具主要包括()。
对木质包装材料进行“熏蒸”处理主要是为了防止有害昆虫的传播,()
影响幼儿园同伴关系的主要因素是外表和______。
根据所给材料,回答问题。技术为自身的生存和发展而战,并且有着独特的生命周期。我们可以将其划分为以下几个阶段:首先是先驱阶段。技术的先决条件已经存在,梦想家们可能会考虑把这些元素放在一起。然而即便这些梦想此时已经记录在案,人们也不会将其视为发明创
根据史蒂文斯的观点,物理量和心理量可能存在的关系有
以下对C语言中联合类型数据的正确叙述是()。
最新回复
(
0
)