#include<stdio.h>
#define NUM 4
int main()
{int arr[NUM],i,j,teap;
printf("input%dnumbers:\n",NUM);
for(i=0;i<NUM;i++)
scanf("%d",&arr[i]);
for(i=0;i<NUM-1;i++)
{ for(j=0;j<NUM-1-i;j++)
{if(arr[j]>arr[j+1])
{teap=arr[j];
arr[j]=arr[j+1];
arr[j+1]=teap;
}
}
}
printf("after sort:\n");
for(i=0;i<NUM;i++)
printf("%d",arr[i]);
return 0;
}
我用两组数据,测试了一下,发现代码逻辑没问题,就是打印的时候,加个空格就好了。
for(i=0;i<NUM;i++)
printf("%d ",arr[i]);
可能是你代码练习的少,多用书上的例子,敲一敲,多做点练习应该就会好一点。