首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
72
问题
请编写函数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://www.kaotiyun.com/show/yskp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中正确的是
若有定义:inta,b;通过语句scanf("%d;%d",&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是
以下选项中,没有编译错误的是
以下选项中关于C语言常量的叙述错误的是
有以下程序#include#includetypedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={"Zhao",’m’,85,
有以下程序(strcat函数用以连接两个字符串)#include#includemain(){chara[20]="ABCD\0EFG\0",b[]="IJK";strcat(a,b);printf
设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能蒋变量c中的大写字母转换为对应的小写字母的语句是
编写函数fun,其功能是:比较字符串的长度,不得使用C语言提供的求字符串长度的函数,函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入“beijing”<CR>“shanghai”<CR>(<CR>为Enter键),函数将返
C语言源程序名的后缀是()。
随机试题
股权资本
甲将电脑出租给乙,租期1个月,甲、乙之间的民事行为属于【】
确诊骨与关节结核的方法是()
A.好发于前臂或小腿石膏包扎过紧时B.石膏固定压迫,皮肤脱屑、出汗和瘙痒,继而水疱破溃感染C.大量钙盐从骨骼中进入血液,并从肾中排出D.若上腹部包裹过紧,进食后可呕吐胃内容物E.长期固定肢体后,关节内外组织发生纤维粘连,同时关节囊和周围肌肉挛缩
在国民经济核算中,按收入法计算GDP的组成部分包括()。
关于人力资源管理部门的绩效评估的说法,错误的是()。
共产党的领导主要包括()。
在“一战”期间,中国民族资本主义进入一个短暂的春天,推动了中国经济近代化。其积极作用表现在()。①在一定程度上抵制了帝国主义的经济扩张②促使新的政治力量发展壮大③为民主革命新发展创造了条件④使中国社会经济结构发生根本性变革
A、 B、 C、 D、 C
Whoisthespeaker?
最新回复
(
0
)