2002年全国计算机等级考试四级考试上机题

文章作者 100test 发表时间 2007:03:10 18:31:32
来源 100Test.Com百考试题网


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) .}

相关文章


2003年全国计算机等级考试四级上机题
三级数据库技术辅导第二讲:1.1基本概念
2002年全国计算机等级考试四级考试上机题
三级数据库技术辅导:1.5用户对数据库系统的访问过程
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛