#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]);
}
}
}
```
是不是去掉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]);
}
}
我试了一下 去掉可以