KyrieIrvinga 2022-11-24 10:15 采纳率: 58.8%
浏览 8

C——语言选择排序法

请问哪里出了问题呢,为什么像
4
5 1 7 6就排序不出来呢?
#include <stdio.h>
int main()
{
int n,i,j,temp,arr[n];
scanf("%d",&n);

for(i=0;i<n;i++)
{
    scanf("%d",&arr[i]);
}

for(i=0;i<n-1;i++)
{
    int index=i;
    for(j=i+1;j<n;j++)
    {
        if(arr[j]>arr[index])
        {
            index=j;
        }
        temp=arr[index];
        arr[index]=arr[i];
        arr[i]=temp;
    }
}
for(i=0;i<n;i++)
{    
    if(i==0) printf("%d",arr[i]);
    else printf(" %d",arr[i]);
}
return 0;

}

  • 写回答

3条回答 默认 最新

  • 关注

    img


    代码

    
     int n;
        scanf("%d",&n);
        int arr[n+1];
        for(int i=0; i<n; ++i)
        {
            scanf("%d",&arr[i]);
        }
        for(int i=0; i<n; ++i)
        {
            for(int j=i+1; j<n; ++j)
            {
                if(arr[i]>arr[j])
                {
    
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
    
            }
        }
        for(int i=0;i<n;++i)
        {
            printf("%d ",arr[i]);
        }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月24日