#include<stdio.h>
int main()
{
int a[6]={10,4,9,5,0,2};
int i,j,m,temp;
for(i=1;i<6;i++)
{
m=a[i];
for(j=i-1;j>=0;j--)
{
if(a[j]>m)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}
return 0;
}
uj5u.com熱心網友回復:
交換之前用a[j]和a[i]比不正確,如果要把3移動到6、7之前,第一次637,第二次比的就是6和7了,邏輯有點問題uj5u.com熱心網友回復:
你的邏輯有問題 所以你的方法是錯誤的!下面是我寫的排序代碼 供參考 ~
#include<stdio.h>
int main()
{
int a[6]={10,4,9,5,0,2};
int i,j,temp;
for(i=0;i<6;i++)
{
for(j=i+1;j<6;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0;i<6;i++)
printf("%d ",a[i]);
return 0;
}
uj5u.com熱心網友回復:
好的,多謝(o^^o)
uj5u.com熱心網友回復:
怪不得,謝謝啦
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/131836.html
標籤:C語言
上一篇:pta Reversing Linked List 求助
下一篇:萌新遇到一個小問題
