首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
34
问题
请编写函数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全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwrite(a,sizeof(int)
设q1和q2是指向一个int型一维数组的指针变最,k为float型变量,下列小能正确执行的语句是()。
下面程序的输出结果是()。#include<stdio.h>main(){chara[]={’a’,’b’,’c’,’d’,’f’,’g’},*p;p=a;printf("%c\n",*p+4);}
若有定义inta[5],*p=a;则正确引用数组元素的是()。
若定义函数int*func(),则函数func的返回值为()。
以下叙述错误的是()。
当a=1、b=2、c=3、d=4时,执行下面程序段后,x的值是()。if(a<B)if(c<D)x=1;elseif(a<C)if(b<D)x=2:elsex=3:elsex=6:elsex=7
下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个元素输出数组b,请填空。main(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",
有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta
若变量都已正确说明,则以下程序段输出结果为()。#include<stdio.h>main(){chara=’a’;intb=2;printf(a>b?”***a=%d":"###b=%d",a,B;
随机试题
某市地质矿产局经省国土资源厅批准,授予甲企业在该市某河段的采砂许可。乙企业认为该河段采砂许可已经由自己享有,故向法院提起行政诉讼,要求撤销颁发给甲企业的采砂许可。关于本案,下列哪个法院有管辖权?___
A.确认为假药B.确认为劣药C.按假药论处D.按劣药论处E.确认为合格药品某药店销售的三黄片的主药含量低于国家药品标准规定,该药品应
按照《个人外汇管理办法》,下列不符合规定的是()。
某企业将外购原煤和自采原煤按照2:1的比例混合在一起销售,7月销售混合原煤600吨,取得不含增值税销售额38万元,经计算确认,外购原煤单价500元/吨(不含增值税),该企业煤炭资源税税率为8%,当期该企业应纳资源税()万元。
上海是国务院公布的历史文化名城,其主要特色是凸显近都市历史风貌。()
规模相当于摧毁西伯利亚森林的那一次在地球大气层中的陨石爆炸,威力大概相当于万吨级的核爆炸,一个世纪大概出现一次。由复杂的计算机程序控制的高度自动化的系统对于未预料到的情况的反应是无法预测的。如果以上关于由一个复杂的计算机程序控制的高度自动化的核导弹防御
材料1:某校8月中旬下达任务组织人员到西藏支教,需要7个人员,但是以往出现有一些人不合格,有些人去了呆不久的情况,9月初要完成相关工作,张明是学校支教负责人。材料2:介绍要去支教的某县的基本情况:设备落后,师资缺乏,但是相关领导非常重视相关工作,
在东海大学研究生会举办的一次中国象棋比赛中,来自经济学院、管理学院、哲学学院、数学学院和化学学院的5名研究生(每学院1名)相遇在一起。有关甲、乙、丙、丁、戊5名研究生之间的比赛信息满足以下条件:(1)甲仅与2名选手比赛过;(2)化学学院的选手和3名选手
资本家用来购买劳动力的那一部分资本属于
Everyyear,IBMCorporationchoosesfivenewtechnologiesitbelieveswillchangetheworldwithinthenextfiveyears.TheIBM
最新回复
(
0
)