2 liaohuongxing liaohuongxing 于 2016.02.28 16:51 提问

菜鸟求救,各位大神帮帮忙

#include
main()
{
int min,i,j;
int s[81];
for(i=0;i<4;i++)
scanf("%d",&s[i]);
for(j=0;j<5;)
{
for(min=s[0],j=0;i<4;i++)
{
if(s[i]<min)
min=s[i];
j=j+1;
printf("%d\n",s[i]);
}
}
}
将四个整数从小到大排列,不知道哪里错,如图运行不出结果图片

4个回答

caozhy
caozhy   Ds   Rxr 2016.02.28 18:37
已采纳

选择排序

 #include<stdio.h>
int main()
{
    int min,i,j;
    int s[81];
    for(i=0;i<4;i++)
        scanf("%d",&s[i]);
    for(j=0;j<4;j++)
    {
        min=j;
        for(i=j+1;i<4;i++)
        {
            if (s[i]<s[min]) min=i;
        }
        if (min!=j)
        {
            int t = s[min];
            s[min]=s[j];
            s[j]=t;
        }
    }
    for(i=0;i<4;i++)
        printf("%d\n",s[i]);
    return 0;
}
caozhy
caozhy   Ds   Rxr 2016.02.28 18:38

3
6
7
1
1
3
6
7
Press any key to continue

Hkmyht
Hkmyht   2016.02.29 11:12

main()
{
int min,i,j;
int s[81] = {0};
for(i=0;i<4;i++)
scanf("%d",&s[i]);
for(j=0;s[j];j++)
{
min = s[j];
for(i=j+1;s[i];i++)
{
if(s[i]<min)
{
min=s[i];
s[i] = s[j];
s[j] = min;
}
}

}
i=0;
while(s[i])
{
    printf("%d\t",s[i++]);
}

}

Linux_ZC
Linux_ZC   2016.02.28 16:58

第三个for循环()中的“,”改为“;”。

liaohuongxing
liaohuongxing 改了干吗,那个没错吧
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!