早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

请编制程序,要求:将文件IN92.DAT中的200个整数读入数组xx中,求出数组xx中最大数max及最大数的个

题目

请编制程序,要求:将文件IN92.DAT中的200个整数读入数组xx中,求出数组xx中最大数max及最大数的个数cnt和数组xx中值能被3整除或能被7整除的数的算术平均值pj(保留两位小数),结果max,cnt,pj输出到out92.dar中。

部分程序、读函数read_dat(int xx[200])及输出格式已给出。

试题程序:

include<conio.h>

include<stdio.h>

define N 200

void read_dat(int xx[N])

{

int i,j;

FILE *fp;

fp=fopen("IN92.DAT","r");

for(i=0;i<20;i++)

{

for(j=0;j<10;j++)

{

fscanf(fp,"%d,",&xx[i*10+j]);

printf("%d",xx[i*10+j]);

}

printf("\n");

}

fclose(fp);

}

void main()

{

int i,k,cnt,xx[N],max;

float pj;

FILE *fw;

long j=0;

clrscr();

fw=fopen("out92.dat","w");

read_dat(xx);

printf("\n\nmax=%d,cnt=%d,pj=%6.2f/n",max,cnt,pj);

fprintf(fw,"%d\n%d\n%6.2f\n",max,cnt,pj);

fclose(fw);

}

参考答案
正确答案:void main ( ) { int ikcntxx[N]max; float pj; FILE *fw; long j=0; clrscr(); fw=fopen("out92.dar""w"); read_dar(xx); max=xx[0]; for(i=1k=0;iN;i++) { if(xx[i]>max) max=xx[i]; /*求出数组xx中最大数max*/ if(xx[i]%3==0 ||xx[i]%7==0) { j+=xx[i]; /*求出数组xx中值能被3整除或能被7整除的数的总和*/ k++; } } for(i=0cnt=0;iN;i++) if(xx[i]==max) cnt++; /*求出数组xx中最大数max的个数*/ pj=(float)(j*100/k)/100; /*求出数组xx中值能被3整除或被7整除的数的平均值*/ printf("\n\nmax=%dcnt=%dpj=%6.2f\n"maxcntpj); fprintf(fw"%d\n%d\n%6.2f\n"maxcntpj); fclose(fw); }
void main ( ) { int i,k,cnt,xx[N],max; float pj; FILE *fw; long j=0; clrscr(); fw=fopen("out92.dar","w"); read_dar(xx); max=xx[0]; for(i=1,k=0;iN;i++) { if(xx[i]>max) max=xx[i]; /*求出数组xx中最大数max*/ if(xx[i]%3==0 ||xx[i]%7==0) { j+=xx[i]; /*求出数组xx中值能被3整除或能被7整除的数的总和*/ k++; } } for(i=0,cnt=0;iN;i++) if(xx[i]==max) cnt++; /*求出数组xx中最大数max的个数*/ pj=(float)(j*100/k)/100; /*求出数组xx中值能被3整除或被7整除的数的平均值*/ printf("\n\nmax=%d,cnt=%d,pj=%6.2f\n",max,cnt,pj); fprintf(fw,"%d\n%d\n%6.2f\n",max,cnt,pj); fclose(fw); } 解析:本题考查的知识点如下:
(1)运算符“%”的使用。
(2)判断结构中多个条件的布尔运算。
首先,要找出数组中最大的元素。先定义第1个元素为最大的元素,然后依次和后面的元素比较,若后面的数中有大于第1个元素的,则将这个数定义为最大的元素。再和后面的数进行比较。一个数a除以b取余所得的数为0,则a能被b整除。根据题意可知,被3整除和被7整除两个条件满足一个即可,所以两个条件之间用“或”运算。在本题中,要求算术平均值保留两位小数。使用的方法是:将和乘以100除以个数强制类型转换后再除以100。为了保证和有效,我们定义了一个长整型变量来记录和。因为个数也为整型,运算符“/”在这里的含义是整除,而我们要保留小数,所以要使用强制类型转换将和乘以100的结果转换为浮点类型,这样就可以实现保留两位小数。
看了请编制程序,要求:将文件IN9...的网友还看了以下:

平面直角坐标系中怎么求两点之间线段的中点啊例题 在平面直角坐标系中,作出D(-1,-2),E(5, 数学 2020-05-13 …

让我们想像一下,如果摩擦力突然消失,对可能出现的现象,下列说法中错误的是()A.汽车无法正常启动并 物理 2020-05-14 …

杂交育种是植物育种的常规方法,其选育新品种的一般方法是A.根据杂种优势原理,从子一代中即可选出 B 其他 2020-05-17 …

脱臼是什么原因造成的()A.关节窝从关节头中脱出B.关节头从关节窝中脱出C.关节头从关节囊中脱出D 语文 2020-06-08 …

有人狂笑时,使上下颌不能合拢.这是由于()A.关节头从关节囊中脱出B.关节腔内可能有积液C.关节头 语文 2020-06-22 …

下列事实不能用勒夏特列原理解释的是()A.合成氨工厂采用增大压强以提高原料的转化率B.实验室用排饱 化学 2020-06-26 …

分子动理论是从微观角度看待宏观现象的基本理论.以下现象,能用该理论进行解释的是()A.风的形成B. 物理 2020-06-28 …

医学上讲的“脱臼”现象是指()A.关节腔内关节液流出B.关节头从关节窝中脱出C.关节头从关节囊中脱 其他 2020-07-02 …

如图为关节结构模式图,我们常说的“脱臼”是指()A.①从③中脱出B.⑤从①中脱出C.①从④中脱出D 语文 2020-07-02 …

在胚胎移植过程中,“冲卵”指的是()A.将受精卵从母体子宫中冲出B.将卵母细胞从输卵管中冲出C.将 语文 2020-07-29 …