首页 > 安全资讯 >

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

09-02-28

1、 已知数据文件IN.D入数组a中,请考生编制一函不等, 则取较大者作为下列2个数与第199个数进行比较合条件数; 直至第100个数min、最大值max以及这些符把结果输出到OUT.DAT文件 AT中存有200个四位数, 并已调数j

1、 已知数据文件IN.D
入数组a中,请考生编制一函
不等, 则取较大者作为下列
2个数与第199个数进行比较
合条件数; 直至第100个数
min、最大值max以及这些符
把结果输出到OUT.DAT文件
AT中存有200个四位数, 并已调
数jsVal(),其功能是:将第1个数
统计用的符合条件数,若两数相
,若两数不等, 则同样取较大者,
与第101个数比较为止, 接着计
合条件数的平均值aver。最后ma
中。
用读函数readDat()把这些数存
与第200个数进行比较, 若两数
等, 则不作为符合条件数; 将第
若两数相等, 则同样不作为符
算出这些符合条件数中的最小值
in()函数调用写函数writeDat()


  注意: 部分源程序存在
文件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[MA
X-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,m
ax=%d,aver=%6.2lf ", min, m
ax, aver) ;

  writeDat() ;}writeDat(){

  FILE *fp ;

  fp = fopen("out.dat"
, "w") ;
  fprintf(fp, "%d %d
n%6.2lf ", min, max, aver)
;


  fclose(fp) ;}
  2、已知数据文件IN.DA
数组a中,请考生编制一函数
值组成一个数, 这样可以获
序重新存入数组b中。最后m

T中存有200个四位数, 并已调用
jsVal(),其功能是:从数组a的头
得10个新数并存入数组b中,接着
ain()函数调用写函数writeDat(

读函数readDat()把这些数存入
开始,依次取每20个数中的最小
把数组b中的数按从大到小的顺
)把结果b输出到OUT.DAT文件中


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

  程序中已定义: a[200]、b[10]
  请勿改动数据文件IN.D
writeDat()的内容。*/#inc
jsVal(){/**/
AT中的任何数据、主函数main()
lude #define MAX 2

、读函数readDat()和写函数
00int a[MAX], b[10];void



  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];


  }
  f
热点推荐