2013年计算机二级C语言上机题库四十_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年5月22日
 改错题
  下列给定程序中,函数fun的功能是:将n个无序整数从小到大排序。
  请改正程序中的错误,使其能得出正确结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  试题程序:
  #include<conio.h>
  #include<stdio.h>
  #include<stdlib.h>
  fun(intn,int*a)
  {
  inti,j,p,t;
  for(j=0;j<n-1;j++)
  {
  p=j;
  /********found********/
  for(i=j+1;i<n-1;i++)
  if(a[p]>a[i])
  /********found********/
  t=i;
  if(p!=j)
  {
  t=a[j];
  a[j]=a[p];
  a[p]=t;
  }
  }
  }
  putarr(intn,int*z)
  {
  inti;
  for(i=1;i<=n;i++,z++)
  {
  printf("%4d",*z);
  if(!(i%10))
  printf("\n");
  }
  printf("\n");
  }
  main()
  {
  intaa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;
  printf("\n\nBeforesorting%dnumbers:\n",n);
  putarr(n,aa);
  fun(n,aa);
  printf("\nAftersorting%dnumbers:\n",n);
  putarr(n,aa);
  }
  第1处:for(i=j+1;ii<n-1;i++)应改为for(i=j+1;i<n;i++)
  第2处:t=I;应改为p=i;

相关文章