给定程序MODll.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行和删行,也不得更改程序的结构! #include #def

admin2013-04-02  30

问题 给定程序MODll.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。
    请修改程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!
#include
#define N 20
void fun(int a[], int n)
{int i, j, t, p;
  for (j = 0 ;j < n-1 ;j++) {
/************found************/
    p=j
    for (i = j;i < n; i++)
      if(a < a[p])
/************found************/
        p=j;
    t = a[p] ; a[p] = a[j] ; a[j] = t;
  }
}
main()
{
  int a[N]={9,6,8,3,-1},i, m = 5;
  printf("排序前的数据:");
  for(i = 0;i < m;i++) printf("%d ",a); printf("\n");
  fun(a,m);
  printf("排序后的数据:");
  for(i = 0;i < m;i++) printf("%d ",a); printf("\n");
}

选项

答案p=j; p=i;

解析 (1)第一个标识下面“p=j”,根据C语言的语法,不难发现语句结束缺少分号,因此改为“p=j;”。
(2)第二个标识下面的“p=j;”上两句是以i作为循环和判断条件,其中语句“for(i=j;i
转载请注明原文地址:https://kaotiyun.com/show/uDJp777K
0

最新回复(0)