C语言(不是C++)程序改错题 求各位大神帮忙做做~感激不尽 感激不尽啊!
题目:
下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构。
程序如下:
#include <stdio.h>
#define N 20
void fun(int a[],int n)
{
int i,j,t,p;
for (j=0;j<n-1;j++)
{
p=j ——加上“;”
for (i=j;i,n;i++) ——j改为j+1
if (a[i]<a[p])
p=j; ——j改为i
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[i]);printf("\n");
fun(a,m);
printf("排序后的数据:");
for (i=0;i<m;i++)
printf("%d",a[i]);printf("\n");
}