首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是: 统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0一9岁年龄段的人数放在d[0]中,把10 N19岁年龄段的人数放在d[1]中,把20一29岁年龄段的人数放在d[2]中,依此类推,
请编写函数fun,该函数的功能是: 统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0一9岁年龄段的人数放在d[0]中,把10 N19岁年龄段的人数放在d[1]中,把20一29岁年龄段的人数放在d[2]中,依此类推,
admin
2017-09-23
36
问题
请编写函数fun,该函数的功能是:
统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0一9岁年龄段的人数放在d[0]中,把10 N19岁年龄段的人数放在d[1]中,把20一29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include < stdio.h >
# define N 50
# de fine,M 11
void fun (int *a, int *b)
{
double rnd ()
{
static t =29,c =217,m =1024,r =0;
return ((double) r/m) ,*
}
void main ( )
{
FILE * wf,
int age[N], i,d[M] ;
int b[N] = {32,45,15,12,86,49,
97,3,44,52,17,95,63 };
age
= (int) (115 * rnd ());
printf ("The original data :\n") ;
4d",age
) ; / *每行输出10个数*/
printf ( "\n\n") ;
fun (age,d) ;
for (1 =0; i < 10; 1++)
printf ("% 4d 一一一%4d :%4d\n",
i*l0, 1*10 +9,d
) ;
printf ("Over 100 : %4d\n",d[10]);
/******************/
wf = fopen ("out.dat","w") ;
fun (b,d) ;
for (i=0; 1 < 10; 1++)
fprintf (wf,"%4d—o04d :%4d\n", i
fprintf (wf,"Over 100 : %4d",d[10] ) ;
fclose (wf) ;
/******************/
}
选项
答案
void fun (int* a, int *b) { int i,j; for(j=0; j < M;j++) b[j]=0;/*数组b初始化为0*/ for(i=0;i < N;i++) if (a[i] >=100) b[1 0]++;/*如果年龄大于等于100,b[10]自增1*/ else b[a[i]/10]++;/*如果年龄小于100,则将其分别统计到b[a[i]/ 10]中*/ }
解析
本题是一个分段函数的问题,用两个循环来完成。第1个循环的作用是使b中的所有元素值都为0。这个循环不能省略,因为若未对b中的元素赋初值,则它们的值是不可预测的。第2个循环的作用是分别统计a中各年龄段的人数。当a
≥100时,按题意要将其统计到b[10]中。else的作用是如果年龄小于100,则将其分别统计到b[a
/10]中。
由运算优先级可知先进行a
/10的运算,所得结果作为b的下标。若a
为0—9时,a
/10的值为0,且0—9岁的人数正好要存入b[0]中。若a
为10一19时,a
/10的值为1,且10一19岁的人数正好要存入b[1]中,依此类推。
转载请注明原文地址:https://kaotiyun.com/show/Lzxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);
有以下函数定义:intfun(doublea,doubleB){returna*b;}若以下选项中所用变量都已正确定义并赋值,错误的函数调用是()。
下列数组定义中错误的是()。
下列关于类、对象、属性和方法的叙述中,错误的是()。
执行程序时的输入为123456789,则程序的运行结果为()。#include"stdio.h"main(){inta,b;scanf("%2d%*2d%1d",&a,&B);printf("%d\n",
若有以下定义,则对a数组元素的正确引用是()。inta[5],*p=a;
数字字符0的ASCII值为48,运行下列程序的输出结果是()。main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-A);}
以下语句定义正确的是()。
下面程序的功能是:计算1~20之间的奇数之和与偶数之和,请填空使程序功能完整。#include<stdio.h>main(){inta=0,b=0,c=0,i;for(i=0;i<=20;i+=2){a+=
随机试题
Lambert-Eaton综合征可能与病理状态下自身抗体直接作用于周围神经末梢突触后膜的电压依赖性钙通道有关。()
放疗摆位中定位激光灯中心的水平与垂直的允许精度
原始心脏于胚胎第几周形成房室中隔
患者,男,19岁。患病1周,牙龈乳头坏死,前牙唇侧明显,坏死形成溃疡处凹陷,表面灰白色假膜,触之出血明显,口腔有腐性口臭。体温37.8℃,颏下淋巴结肿痛,既往未出现全身明显异常现象。预计检查后异常表现是
下列控制指标中属于控制性详细规划强制性内容的是:(1)道路坐标(2)容积率(3)用地性质(4)人口容量(5)绿地率(6)建筑高度(7)建筑面积
某建设项目采用施工总承包管理模式,现拟将项目中的安装工程分包给某安装单位,则该分包单位的选择应由( )决策。
注册会计师在确定了建议调整的不符事项和重分类误差后,应以书面方式及时征求被审计单位对需要调整会计报表事项的意见,若被审计单位予以采纳,则应取得被审计单位同意调整的书面确认。( )
旅行社经营原则包含()。
中国人民解放军军歌是()。
消费滞后是指个人消费滞后于国家经济发展和个人家庭收入所应达到的平均消费水平。消费超前是指当下的收入水平不足以购买现在所需的产品或服务,以贷款、分期付款、预支等形式进行消费。根据上述定义,下列属于消费超前的是()。
最新回复
(
0
)