当前位置: 代码迷 >> C语言 >> [求助]排列问题
  详细解决方案

[求助]排列问题

热度:355   发布时间:2006-09-09 09:47:17.0
[求助]排列问题

main()
{int*P,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d ",*p);p++;}
}

sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k! =i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
getch();
}



想用选择法对10个数从大到小排列,但是这样不行,不知道错以在哪里,请各位大哥大姐帮我看看

搜索更多相关的解决方案: 排列  

----------------解决方案--------------------------------------------------------
以下是引用wenzhou20在2006-9-9 9:47:17的发言:

main()
{int*P,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d ",*p);p++;}
}

sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k! =i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
getch();
}



想用选择法对10个数从大到小排列,但是这样不行,不知道错以在哪里,请各位大哥大姐帮我看看

main()
{int*p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d ",*p);p++;}
getch();
}

sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}

}


----------------解决方案--------------------------------------------------------
指针用的有点混...
----------------解决方案--------------------------------------------------------
  相关解决方案