2 xyhqqlove xyhqqlove 于 2016.01.25 09:11 提问

C语言选择排序,帮我看看吧,谢谢了

#include

void main()
{
int aa[]={2,7,5,3,1,9,4};
int i,j,a;
for (i=0;i<6;i++)
{
a=1;
for(int j=i+1;j<7;j++)
{
if(aa[j]<a)
a=j;
}
int t=aa[i];
aa[i]=aa[a];
aa[a]=t;
}
for(i=0;i<7;i++)
printf("%d ",aa[i]);
}

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.25 09:40
 #include <stdio.h>

void main()
{
    int aa[]={2,7,5,3,1,9,4};
    int i,j,a;
    for (i=0;i<6;i++)
    {
        a=i; //修改
        for(int j=i+1;j<7;j++)
        {
            if(aa[j]<aa[i]) //修改
                a=j;
        }
        int t=aa[i];
        aa[i]=aa[a];
        aa[a]=t;
    }
    for(i=0;i<7;i++)
        printf("%d ",aa[i]);
}
qq_27183003
qq_27183003   Ds   Rxr 2016.01.25 10:37
 #include <stdio.h>
void main()
{
    int aa[]={2,7,5,3,1,9,4};
    int i,a;
    for (i=0;i<6;i++)
    {
        a=i; //修改
        for(int j=i+1;j<7;j++)
        {
            if(aa[j]<aa[a]) //修改
                a=j;
        }
        int t=aa[i];
        aa[i]=aa[a];
        aa[a]=t;
    }
    for(i=0;i<7;i++)
        printf("%d ",aa[i]);
}

John_ToStr
John_ToStr   Rxr 2016.01.25 17:48

你的判定逻辑有问题

#include

void main()
{
int aa[]={2,7,5,3,1,9,4};
int i,j,a;
for (i=0;i<6;i++)
{
a=i;
for(int j=i+1;j<7;j++)
{
if(aa[j]<aa[i]) //修改
a=j;
}
int t=aa[i];
aa[i]=aa[a];
aa[a]=t;
}
for(i=0;i<7;i++)
printf("%d ",aa[i]);
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!