下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素进行升序排列。 请修改程序中的错误,使它能得出正确的结果。 注意:不得增行和删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #defi

admin2018-01-14  64

问题    下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素进行升序排列。
   请修改程序中的错误,使它能得出正确的结果。
   注意:不得增行和删行,也不得更改程序的结构!
   试题程序:
   #include<stdio.h>
   #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");
   }

选项

答案 (1)p=j; (2)p=i;

解析 本题考查:选择法排序。
   (1)这里是一个语法错误,缺少一个“;”号。
   (2)p用来存放进行比较的两个数组元素中,较小元素的下标,因此此处应为p=i。
转载请注明原文地址:https://jikaoti.com/ti/mSa0FFFM
0

最新回复(0)