网站首页 考研英语 考研政治 考研数学 考研真题 中考 高考 自考 英语 计算机 公务员 求职 留学 校园
考研词汇 | 阅读理解 | 考研作文 | 听力翻译 | 英语复习 | 时事政策 | 政治复习 | 政治题库 | 政治笔记 | 高等数学 | 线性代数
数学复习 | 数学题库 | 英语真题 | 数学真题 | 政治真题 | 专业真题 | 中考作文 | 中考试题 | 高考作文 | 高考志愿 | 高考语文
自考试题 | 自考指南 | 英语四级 | 英语六级 | 四级作文 | 六级作文 | 留学政策 | 海外生活 | 签证面试 | 留学故事 | 旅游签证
成人高考 | 会计职称 | 执业医师 | 工程硕士 | 法律硕士 | 金融英语 | 职称英语 | 司法考试 | 律师考试 | 注册会计 | 雅思 | 托福 | 证券
 当前位置:首页>>计算机等级考试>>计算机等级考试四级>>2002年全国计算机等级考试四级考试上机题

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

来源:www.stu88.com 时间:2006-01-08
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) ;}
  2、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次取每20个数中的最小值组成一个数, 这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
  注意: 部分源程序存在文件PROG1.C文件中。
  程序中已定义: a[200]、b[10]
  请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include #define MAX 200int a[MAX], b[10];void jsVal(){/**/
  int i,j,k=0,t;
  for(i=0; i < 10; i++)
  { b[i]=a[k++];
  for(j=1; j < 20; j++,k++)
  if(b[i] > a[k]) b[i]=a[k];
  }
  for(i=0; i < 9; i++)
  { k=i;
  for(j=i+1; j < 10; j++)
  if(b[j] > b[k]) k=j;
  if(k!=i){t=b[i]; b[i]=b[k]; b[k]=t;}
  }/**/}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(){
  int i ;
  readDat() ;
  jsVal() ;
  for(i = 0 ; i < 10 ; i++)
  printf("b[%d]=%d\n", i, b[i]) ;
  writeDat() ;}writeDat(){
  FILE *fp ;
  int i ;
  fp = fopen("out.dat", "w") ;
  for(i = 0 ; i < 10 ; i++) fprintf(fp, "%d\n", b[i]) ;
  fclose(fp) ;}
  
 3、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数减第200个数, 若差值大于零, 则取差值作为下列统计用的符合条件数,若差值小于等于零, 则差值不作为符合条件数; 将第2个数减第199个数,若差值大于零, 则同样取差值, 若差值小于等于零, 则差值同样不作为符合条件数;直至第100个数减第101个数为止,接着统计出这些符合条件数中的最大5个不重复的数按从大到小顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
  注意: 部分源程序存在文件PROG1.C文件中。
  程序中已定义: a[200]、b[5]
  请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include #define MAX 200int a[MAX], b[5];void jsVal(){/**/
  int t[MAX/2],i,j,k=0,tt;
  for(i=0; i < MAX/2; i++)
  { tt=a[i]-a[MAX-i-1];
  if(tt>0) t[k++]=tt;
  }
  for(i=0; i < 5; i++) b[i]=0;
  for(i=0; i < k; i++)
  if(b[0] < t[i]) b[0]=t[i];
  for(j=1; j < 5; j++)
  for(i=0; i < k; i++)
  if(t[i]>b[j] && t[i] < b[j-1]) b[j]=t[i];/**/}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(){
  int i ;
  readDat() ;
  jsVal() ;
  for(i = 0 ; i < 5 ; i++)
  printf("b[%d]=%d\n", i, b[i]) ;
  writeDat() ;}writeDat(){
  FILE *fp ;
  int i ;
  fp = fopen("out.dat", "w") ;
  for(i = 0 ; i < 5 ; i++) fprintf(fp, "%d\n", b[i]) ;
  fclose(fp) ;}
  
 4、 已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次每20个数的平均值组成一个新数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从小到大的顺序重新存入数组b中。最后main( )函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
  注意: 部分源程序存在文件PROG1.C文件中。
  程序中已定义: a[200]、b[10]
  请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include #define MAX 200int a[MAX];double b[10] ;void jsVal(){/**/
  int i,j,k=0;
  double t;
  for(i=0; i<10; i++)
  { b[i]=a[k++];
  for(j=1; j<20; j++)
  b[i]+=a[k++];
  b[i]/=20;
  }
  for(i=0; i < 9; i++)
  { k=i;
  for(j=i+1; j<10; j++)
  if(b[k] > b[j]) k=j;
  if(k!=i)
  { t=b[k]; b[k]=b[i]; b[i]=t;}
  }/**/}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(){
  int i ;
  readDat() ;
  jsVal() ;
  for(i = 0 ; i < 10 ; i++)
  printf("b[%d]=%7.2lf\n", i, b[i]) ;
  writeDat() ;}writeDat(){
  FILE *fp ;
  int i ;
  fp = fopen("out.dat", "w") ;
  for(i = 0 ; i < 10 ; i++) fprintf(fp, "%7.2lf\n", b[i]) ;
  fclose(fp) ;}
  
  5、已知数据文件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],t,i,k=0;
  for(i=0; i < MAX/2; i++)
  { t=a[i]-a[MAX-i-1];
  if(t < 0) b[k++]=-t;
  }
  max=min=b[0]; aver=b[0];
  for(i=1; i < k; i++)
  { aver+=b[i];
  if(max < b[i]) max=b[i]; else if(min > b[i]) min=b[i];
  }
  aver/=k;/**/}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) ;}
  6、 已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次取每20个数中的最小值组成一个数, 这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
  注意: 部分源程序存在文件PROG1.C文件中。
  程序中已定义: a[200]、b[10]
  请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include #define MAX 200int a[MAX], b[10];void jsVal(){/**/
  int i,j,k=0;
  for(i=0; i < 10; i++)
  { b[i]=a[k++];
  for(j=1; j < MAX/10; j++,k++)
  if(b[i]>a[k]) b[i]=a[k];
  }
 
  for(i=0; i < 9; i++)
  for(j=i+1; j < 10; j++)
  if(b[i] < b[j])
  { k=b[i]; b[i]=b[j]; b[j]=k;}/**/}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(){
  int i ;
  readDat() ;
  jsVal() ;
  for(i = 0 ; i < 10 ; i++)
  printf("b[%d]=%d\n", i, b[i]) ;
  writeDat() ;}writeDat(){
  FILE *fp ;
  int i ;
  fp = fopen("out.dat", "w") ;
  for(i = 0 ; i < 10 ; i++) fprintf(fp, "%d\n", b[i]) ;
  fclose(fp) ;}
  
 7、 已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次每20个数的平均值组成一个新数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main( )函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
  注意: 部分源程序存在文件PROG1.C文件中。
  程序中已定义: a[200]、b[10]
  请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include #define MAX 200int a[MAX];double b[10] ; void jsVal(){/**/
  int i,j,k=0; double t;
  for(i=0; i < 10; i++)
  { b[i]=a[k++];
  for(j=1; j < MAX/10; j++)
  b[i]+=a[k++];
  b[i]/=MAX/10;
  }
  for(i=0; i < 9; i++)
  { k=i;
  for(j=i+1; j < 10; j++)
  if(b[k] < b[j]) k=j;
  if(k!=i)
  { t=b[i]; b[i]=b[k]; b[k]=t;}
  }/**/}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(){
  int i ;
  readDat() ;
  jsVal() ;
  for(i = 0 ; i < 10 ; i++)
  printf("b[%d]=%7.2lf\n", i, b[i]) ;
  writeDat() ;}writeDat(){
  FILE *fp ;
  int i ;
  fp = fopen("out.dat", "w") ;
  for(i = 0 ; i < 10 ; i++) fprintf(fp, "%7.2lf\n", b[i]) ;
  fclose(fp) ;}
 8、 已知数据文件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 i,j,m,k=0;
  min=9999; max=0; aver=0.0;
  for(i=0; i < MAX/2; i++)
  if(a[i]!=a[MAX-i-1])
  { k++; m=a[i]>a[MAX-i-1]?a[MAX-i-1]:a[i];
  aver+=m;
  if(max < m)max=m; else if(min>m) min=m;
  }
  aver/=k;/**/}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) ;}
 
 9、 已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次每20个数的平均值组成一个新数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main( )函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
  注意: 部分源程序存在文件PROG1.C文件中。
  程序中已定义: a[200]、b[10]
  请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include #define MAX 200int a[MAX];double b[10] ;void jsVal(){/**/
  int i,j,k=0; double t;
  for(i=0; i < 10; i++)
  { b[i]=a[k++];
  for(j=1; j < MAX/10; j++)
  b[i]+=a[k++];
  b[i]/=MAX/10;
  }
  for(i=0; i < 9; i++)
  { k=i;
  for(j=i+1; j < 10; j++)
  if(b[k] < b[j]) k=j;
  if(k!=i)
  { t=b[i]; b[i]=b[k]; b[k]=t;}
  }/**/}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(){
  int i ;
  readDat() ;
  jsVal() ;
  for(i = 0 ; i < 10 ; i++)
  printf("b[%d]=%7.2lf\n", i, b[i]) ;
  writeDat() ;}writeDat(){
  FILE *fp ;
  int i ;
  fp = fopen("out.dat", "w") ;
  for(i = 0 ; i < 10 ; i++) fprintf(fp, "%7.2lf\n", b[i]) ;
  fclose(fp) ;}
  
 10、已知数据文件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 i,t,k=0;
  max=0; min=10000;
  aver=0.0;
  for(i=0; i < MAX/2; i++)
  { t=a[i]-a[MAX-i-1];
  if(t < 0)
  { t=-t; k++; aver+=t;
  if(max < t) max=t; else if(min>t) min=t;
  }
  }
  aver/=k;/**/}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) ;}
  
 
 试题的 in.dat内容如下:
  4452 1759 8634 9976 7503 2101 5246 6780 1518 6955 
  3466 8383 1778 4777 4443 3364 2262 3649 3366 5528 
  6840 7227 8590 9496 3512 5638 2412 5909 2975 8025 
  2359 5368 3539 3559 2322 5307 1757 8645 8872 6227 
  4357 8379 5715 9782 8205 1063 3211 2201 4307 2357 
  9703 1076 5551 7158 4462 5589 1137 4051 3485 9751 
  8662 2134 1190 8025 1065 4059 9698 8098 6927 8155 
  9476 5088 6359 5573 5993 5606 9624 3380 2122 5129 
  9554 7098 3070 8601 7205 9551 9218 2082 1284 4013 
  8447 1275 6488 5778 9290 7853 3538 6167 5442 2097 
  1720 8296 3250 7649 8223 2250 4367 8818 7696 4567 
  2856 9316 8359 6136 5012 6032 6291 1827 7026 8704 
  4189 7396 4088 2106 3918 4019 8802 6084 5890 1426 
  4261 1041 2554 1599 4124 4615 1566 2010 2881 5854 
  9694 6913 4927 5571 2121 8576 5074 7410 9248 3526 
  7614 7273 8044 2410 5872 9607 9017 7871 1835 6878 
  6307 5718 3949 1697 8033 6158 6838 9178 6320 5899 
  1363 5611 4709 1560 8051 6204 6920 4488 6106 7848 
  1638 5460 5160 7848 3035 2668 1975 4539 1697 1452 
  9266 5644 9203 8847 5953 6143 3889 6280 8335 7988

下一篇:2003年全国计算机等级考试四级上机题

[编辑:煮酒论剑] [打印本页] [返回顶部↑]
相关文章
  ·2004年9月全国计算机等级考试四级笔试试卷  (2006-01-08)
·2004年全国计算机等级考试四级笔试试卷  (2006-01-08)
·2003年全国计算机等级考试四级笔试试卷  (2006-01-08)
·2002年全国计算机等级考试四级考试笔试题(含参考答案)  (2006-01-08)
·2001年全国计算机等级考试四级笔试试卷 (3)  (2006-01-08)
·2001年全国计算机等级考试四级笔试试卷 (2)  (2006-01-08)
·2001年全国计算机等级考试四级笔试试卷 (1)  (2006-01-08)
·2000年全国计算机等级考试四级笔试试卷 (2)  (2006-01-08)
·2000年全国计算机等级考试四级笔试试卷 (1)  (2006-01-08)
 
今日推荐
分类栏目
热点文章
·2005全国计算机等级考试
·2002年全国计算机等级考
·2004年9月全国计算机等级
·2003年全国计算机等级考
·全国计算机等级考试四级
·2004年全国计算机等级考
·1997年全国计算机等级考
·2001年全国计算机等级考
·2003年全国计算机等级考
·2001年全国计算机等级考
·2000年全国计算机等级考
·2001年全国计算机等级考
微软认证 | 思科认证 | 电子商务 | 驾照考试 | 报关考试 | 报检考试 | 在职硕士 | 教育硕士 | 城市规划 | 秘书 | 导游 | 护士 | 药师
友情链接 | 网站地图| 免责声明
Copyright ® stu88.com中国学习考试网® 版权所有