发新话题
打印

★★★9月上机试题汇总目录★★★

我下午去考了,祝自己好运!!!!

[em02]

多谢楼主及各位热心的关心等级考试的人,我今天上午刚考完,抽中了此题!我非常幸运,前几天才在这里找到这题!内容如下:

在数组aa[10][20]中存有200个数(从in.dat文件里可以看到都是四位整数),用空格隔开, 首先把每组的20个数从小到大排序,再去掉每一行的中间的两个以及最大的两个数,再求出剩余的16个数的算术平均数依次存入bb[10]中。

void js() { int i,j,k,t; double aver; for(i=0;i<10;i++) { for(j=0;j<20;j++) for(k=j+1;k<20;k++) if(aa[j]>aa[k]) { t=aa[j]; aa[j]=aa[k]; aa[k]=t; } }

for(i=0;i<10;i++) { aver=0.0; for(j=0;j<20;j++) aver+=aa[j]; aver=aver-aa[9]-aa[10]-aa[18]-aa[19]; b=aver/16; } }

4763.38 4444.44 4862.69 4611.44 4754.00 4161.31 5151.81 4074.50 5136.31 4278.19

太爽了,太感动了,

我和4楼的一个题

得的答案也一样啊

[em01]

我刚考试,过了~

4楼的哥们,我的上机题及答案和你一样!真是人才唉!

同时谢谢斑竹和各位弟兄!!!!!!!!!!!!!!!!!!

答案是:N=150 AVER=475.37 SUMINT=17197.00 SUMDEC=35.44

帮帮忙!!!

sumdec+=(xx-val);与sumdec+=xx-val;

有何不同?

我一会就考试了,希望不会像今天的天气,灰蒙蒙的,

如果抽到了同样的题,我会感谢我的朋友们的1

[em08][em05]
[em01][em02]

下午考试的兄弟有什么新题型吗???

我明天考啊,是不是就不考字符串了啊!!!!!!!!!!!

[em07]

我抽到下面这一题目:已知数据文件IN.DAT中存有10组每组20个四位数的数据, 每个数据间用空格分隔,并已调用读函数readDat()把这10组数据存入数组aa(其中,aa定义为int aa[10][20]),请考生编制一函数jsVal(), 其功能是: 首先计算每组中的数的最大值和最小值的算术平均值,然后取每组小于其算术平均值的最大一个四位数依次存入数组bb(其中,数组bb定义为int bb[10],其中bb[0]为第一组中符合条件的数,bb[1]为第二组中符合条件的数,其它依此类推),最后调用输出函数writeDat()把结果bb输出到文件OUT.DAT中。

注意: 部分源程序存在文件PROG1.C文件中。

程序中已定义全局变量: aa[10][20]bb[10]

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

#include <stdio.h>

int aa[10][20] ;

int bb[10];

void jsVal() { int i,j,max1,max2,min,cnt; double aver; for(i=0;i<10;i++) { min=9999; max1=max2=0; for(j=0;j<20;j++) { if(aa[j]>max1) max1=aa[j]; if(aa[j]<min) min=aa[j]; } aver=(double)(max1+min)/2.0; for(j=0;j<20;j++) if(aa[j]<aver&&aa[j]>max2) max2=aa[j]; bb=max2; } }

/* 以下函数均无需修改 */

void readDat()

{

int i, j ;

FILE *fp ;

fp = fopen("D:\\EXAM\\40010001\\in.dat", "r") ;

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

for(j = 0 ; j < 20 ; j++) fscanf(fp, "%d", &aa[j]) ;

fclose(fp) ;

}

void main()

{

int i ;

readDat() ; /* 读数据 */

jsVal() ; /* 按要求计算 */

for(i = 0 ; i < 10 ; i++) /* 从屏幕输出结果 */

printf("%d\n", bb) ;

writeDat() ; /* 输出结果到文件 */

}

writeDat()

{

FILE *fp ;

int i ;

fp = fopen("D:\\EXAM\\40010001\\out.dat", "w") ;

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

fprintf(fp, "%d\n", bb) ;

fclose(fp) ;

}

输入文件in.dat仍是第一题的 输出文件out.dat为: 4603 4365 4187 4968 4984 4967 3229 4824 5049 4433

[em05][em05][em05][em05][em05][em05][em05][em05][em05][em05]

看来这道题挺普遍的,哈哈!

[em01][em01][em01][em01][em01][em01][em01] 我过!!!!!!!!!了!!!!!!!!
发新话题
查看积分策略说明

快速回复主题

选项

[完成后可按 Ctrl+Enter 发布]  预览帖子  恢复数据  清空内容