谁能帮我修改一下这个程序呀?急!!!谢谢啦!

来源:百度知道 编辑:UC知道 时间:2024/05/06 16:33:54
如下程序是按选择法对数组中的几个元素按从小到大的顺序排序,请对程序中的错误进行改正,使其正常运行。
# include <stdio.h>
#define N 20
void main ()
{int a[N]=[9,6,8,3,-1];int i,m;
printf("before sort:");
for(i=0;i<m;i++)
printf("%d",a[i]);printf("\n");
{int i,j,t,p;
for(j=0;j<m-1;j++)
{p=j; for(i=j;i<m;i++) if(a[i]<a[p]) p=j;
t=a[p];a[p]=a[j];a[j]=t;}
}
printf("after score:"); for(i=0;i<m;i++)
printf("%d",a[i]); printf("\n");
}

答案
# include <stdio.h>
#define N 20
void main ()
{
int a[N]={9,6,8,3,-1};
int i,m=5;
printf("before sort:");
for(i=0;i<m;i++)
printf("%d",a[i]);
printf("\n");
{
int i,j,t,p,q;
for(j=0;j<m-1;j++)
{
p=j;
for(i=j+1;i<m;i++)
if(a[i]<a[p])
q=i;
t=a[p];
a[p]=a[q];
a[q]=t;
}
}
printf("after score:");
for(i=0;i<m;i++)
printf("%d",a[i]);
printf("\n");
}

# include <stdio.h>
#define N 20
void main ()
{int a[N],i,j,t;
a[N]=[9,6,8,3,-1];
printf("before sort:");
for(i=0;i<m;i++)
{printf("%d",a[i]);}
printf("\n");

for(i=0;i<N;i++)
{for(j=i+1;j<N;j++)
{if(a[i]<a[j])