就业数据资源平台
当前位置:首页 > C语言程序设计
计算机等级考试二级C语言试题及答案22

给定程序MODI1.C中函数 fun 的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。请改正程序中的错误,使它能得出正确的结果。
  注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
  给定源程序:
  #include
  #define N 20
  int fun ( int * a, int n )
  { int i, m, t, k ;
  for(i=0;i<2;i++) {
  m=0;
  for(k=i+1;k  if(a[k]>a[m]) k=m;
  t=a[i];a[i]=a[m];a[m]=t;
  }
  }
  main( )
  { int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i;
  for ( i=0; i  fun ( b, n );
  for ( i=0; i  }
  解题思路:
  第一处:外循环每循环一次,把当前位置i赋值给m,所以应改为:m=i;。
  第二处:通过内循环来找出最大的一个数的位置k,所以应改为:if(a[k]>a[m]) m=k;。
就业数据资源平台