首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年
admin
2018-08-11
24
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#inclucle<stdio.h>
#define N50
#define M11
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,45,15,12,86,49,97,3,44,52,17,95,63};
for(i=0;i<N;i++)
age
=(int)(115*rnd());
/*产生一个随机的年龄数组*/
printf("The original data:\n");
for(i=0;i<N;i++)
printf((i+1)%10==0?"%4d\n":"%4cl",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("over100:%4d\n",d[10]);
/*********found*********/
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,"Over100:%4d",d[10]);
fclose(wf);
/*********found*********/
}
选项
答案
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[10]++;/*如果年龄大于等于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时,
转载请注明原文地址:https://kaotiyun.com/show/ajxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是main(){charc=’z’;printf("%c",c-25);}
有以下程序段charch;intk;ch=′a′;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是
以下程序运行后输入3,abcde<回车>,则输出结果是【】。#include<string.h>move(char*str,intn){chartemp;inti;temp=str[n-1];for
下面程序的运行结果是___________。#includemain(){inta,b,c,n;a=2;b=0;c=1;n=1;while(n
请读程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf","*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}
语句int(*ptr)()的含义是()。
若有定义和语句:() int**pp,*p,a=10,b=20 pp=&p;p=&a;p=&b;printf("%d,%d”n",*p,**pp); 则输出结果是
设有说明语句如下:staticcharstr[]="Beijing";若执行下列输出语句:printf("%d\n",strlen(strcpy(str,"China")));则输出结果为()。
下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其他依此类推。请填空。Fun(intx,intb[]){intk=0,r;do{r=x%2
有一函数:以下程序段中不能根据x值正确计算出y值的是
随机试题
喉梗阻的主要表现是
急腹症诊断不明时,应慎用【】
季某是某物业公司的水电维修工,公司安排其在国庆节期间加班3天,公司为其提供的加班待遇应当是()
患者,女,13岁。正畸需要减数拔牙,术中误将左下尖牙认为第一前磨牙拔除。进行上述处理,应满足的条件中不包括
某男,56岁,喘促日久,动则喘甚,舌淡,苔薄,辨证为肾不纳气,给予金匮肾气丸治疗,但久治不愈,且见咽十烦躁,医师决定加中成药。宜与金匮肾气丸联用的中成药是
工长施工日志的作用及内容?
下列故事发生于衡水的有()。
张教授认为,空气中的微生物浓度与环境状况、气流运动和海拔高度有关。为了证明这一理论,张教授在山上的不同高度分别打开装着煮过的培养液的瓶子,发现海拔越高,培养液被微生物污染的可能性越小。在山顶上,30个装了培养液的瓶子,只有2个长出了微生物。张教授的学生莫聪
—Where’sJohn,doyouknow?—Oh,______tohospital.
Mr.Smithusuallyhasacupofteaandsomefruitaftermeal,______he?
最新回复
(
0
)