2002年全国计算机等级考试四级考试上机题
时间:2002-09-19 来源:大学生计算机等级考试 打印本文
2002年全国计算机等级考试四级考试上机题
1、 已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数与第200个数进行比较, 若两数不等, 则取较大者作为下列统计用的符合条件数,若两数相等, 则不作为符合条件数; 将第2个数与第199个数进行比较,若两数不等, 则同样取较大者, 若两数相等, 则同样不作为符合条件数; 直至第100个数与第101个数比较为止, 接着计算出这些符合条件数中的最小值min、最大值max以及这些符合条件数的平均值aver。最后main()函数调用写函数writeDat()把结果输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义: a[200]、min、max、aver
请勿改动数据文件IN.DAT中的任何数据、主函数main()、
读函数readDat()和写函数writeDat()的内容。
*/#include
#define MAX 200int a[MAX], min, max;double aver ;
void jsVal()
{
int b[MAX/2], i, n=0;
for(i = 0; i < MAX/2; i++)
if(a[i]!=a[MAX-i-1])
b[n++] = a[i] > a[MAX-i-1] ? a[i] : a[MAX-i-1];
max=min=b[0]; aver=b[0];
for(i = 1; i < n; i++)
{ aver+=b[i];
if(b[i] > max) max=b[i]; else if(b[i] < min) min=b[i];
}
aver=aver/n;/**/}void readDat(){
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;}void main(){
readDat() ;
jsVal() ;
printf("结果min=%d,max=%d,aver=%6.2lf/n", min, max, aver) ;
writeDat() ;}writeDat(){
FILE *fp ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d/n%d/n%6.2lf/n", min, max, aver) ;
fclose(fp) ;}

上一篇:2004年9月全国计算机等级考试四级笔试试卷
下一篇:2002年全国计算机等级考试四级考试笔试题参考答案
相关阅读:
·2002年全国硕士研究生考试西医综合试卷 (2007-05-27)·2002年全国硕士研究生考试英语试卷及答案 (2007-05-09)
·2002年全国硕士研究生入学考试英语模拟试卷(一)及答案 (2007-02-26)
·2002年全国硕士研究生入学考试数学(1)试题及答案 (2007-02-26)
·2002年全国硕士研究生入学统一考试政治理论试题(文科)及答案 (2007-02-26)
·2002年全国硕士研究生入学考试政治考试大纲修订说明 (2007-02-26)
·2002年全国硕士研究生入学统一考试英语试题参考答案 (2006-07-17)
·2002年全国硕士研究生考试政治试卷(理科)及答案 (2005-03-28)


