首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把1
请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把1
admin
2020-05-14
63
问题
请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。
注意:部分源程序在文件PROGI.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include
#define N 50
#define M 11
void fun(int*a,int*b)
{
}
double rnd()
{
static t=29,c=217,m=1024,r=0;
r=(r*t+c)%m;
return((double)r/m);
}
void main()
{
FILE*wf;
int age[N],i,d[M];
int b[N]={32,4 5,15,12,86,49,
97,3,44,52,17,95,63};
for(i=0;i
age
=(int)(115*rnd());
/*产生一个随机的年龄数组*/
printf("The original data:\n");
for(i=0;i
printf((i+1)%10==0?"%4d\n":"%
td",age
);/*每行输出10个数*/
printf("\n\n");
fun(age,d);
for(i=0;i<10;i++)
printf("%4d---%4d:%4d\n",
i*10,i*10+9,d
);
printf("Over 100:%4d\n",d[10]);
/************************/
wf=fopen("out.dat","w");
fun(b,d);
for(i=0;i<10;i++)
fprintf(wf,"%4d--%4d:%4d\n”,i
*10,i*10+9,d
);
fprintf(wf,"Over 100:%4d",d[10]);
fclose(wf);
/*****************************/
}
选项
答案
void fun(int *a,int *b) { int i,j; for(j=0;j
=100) b[10]++;/*如果年龄大于等于100,b[10]自增1*/ else b[a[i]/10]++;/*如果年龄小于100,则将其分别统计到b[a[i]/10]中*/ }
解析
本题是一个分段函数的问题,用两个循环来完成。第1个循环的作用是使b中的所有元素值都为0。这个循环不能省略,因为若未对b中的元素赋初值,则它们的值是不可预测的。第2个循环的作用是分别统计a中各年龄段的人数。当a
≥100时,按题意要将其统计到h[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://jikaoti.com/ti/J9A0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是【】。#include<iostream.h> #include<string.h>voidmain(){charb[30];strcpy(&b[0],"XY")
将一个函数声明为一个类的友元函数必须使用关键字【】。
重载赋值操作符时,应声明为()。函数。
C++在重载运算中,如用成员函数重载一元运算符参数表中需要【】个参数,如用友元函数重载一元运算符参数表中需要1个参数。
按照“先进先出”的原则组织数据的结构的是______。
下面不属于C++的预定义的流对象是()。
数据库的数据模型所描述的内容有三个部分,它们是()。
在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态:其中只能用于检测输入流状态的操作函数名称是()。
若磁盘上已存在某个文本文件,其全路径文件名为d:\ncre\test.txt,下列语句中不能打开该文件的是
下图所示的二叉树的先序遍历序列是【】。
随机试题
诊断颅底骨折的确切依据是伤后出现()
根据合同法原理,我国合同法规定的定金属于_______。
设函数f(x)=2lnx+ex,则f’(2)=()
慢性心功能不全时ACEI为首选用药,ARB用于ACEI不能耐受者。
直流电药物离子导入人体的原理是
海关违法处罚给某公司造成重大损失的,该公司直接请求赔偿的赔偿义务机关是()。
投资项目资本金的具体比例,由项目审批单位在审批()时核定。
楼梯平台处的净空高度最低不应小于()m.
【2011年】下列各项中,其计算结果等于项目投资方案年金净流量的是()。
一个栈的初始状态为空,现将元素A、B、C、D、E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为
最新回复
(
0
)