12464994 2021-10-21 07:16 采纳率: 61.5%
浏览 26
已结题

排序题,想知道自己哪里错,求指点

img



#include<stdio.h>
int main()
{
    int i,j,arr[100],n,d;
    while(scanf("%d",&n)!=EOF);
    {
        for(i=0;i<n;i++)
        {
            scanf("%d",&arr[i]);
        }
        for(i=1;i<n;i++)
        {
            for(j=0;j<n-i;j++)
            {
                if(arr[j+1]<arr[j])
                   {
                       int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                   }
            }
        }
        for(i=0;i<n;i++)
        {
        printf("%d ",arr[i]);
        }
    }
}

```

  • 写回答

1条回答 默认 最新

  • 星星不再亮 2021-10-21 10:47
    关注

    是不是去掉while就可以啦 像这样
    #include<stdio.h>
    int main()
    {
    int i,j,arr[100],n,d;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    scanf("%d",&arr[i]);
    }
    for(i=1;i<n;i++)
    {
    for(j=0;j<n-i;j++)
    {
    if(arr[j+1]<arr[j])
    {
    int temp=arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;
    }
    }
    }
    for(i=0;i<n;i++)
    {
    printf("%d ",arr[i]);
    }
    }

    我试了一下 去掉可以

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 已采纳回答 10月21日
  • 创建了问题 10月21日