#include<stdio.h>
int main()
{ int i,j,a[10],t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=1;j<10;j++)
for(i=0;i<=9-j;i++)//这什么意思?????
if(a[i]>a[i+1])
{t=a[i+1];a[i+1]=a[i];a[i]=t;}
for(i=0;i<10;i++)
printf("%5d",a[i]);
return 0;
}
//不懂 求高手解释 是不是可以用冒泡法
这个?
for(i=0;i<=9-j;i++)//这什么意思?????
追答这个你需要看一下冒泡法怎么排序的
for(j=1;ja[i+1])
{t=a[i+1];a[i+1]=a[i];a[i]=t;}
是两个嵌套的循环,外面大循环每循环一次就会将较大值交换到一个位置,for(i=0;i<=9-j;i++)是小循环,每次只要循环9-j次就可以将还 未排序的部分 的最大值交换到 未排序部分 的底部。
说的有点乱,还是看看排序的一些方法吧
小循坏好像是的,因为每次提出了i个数 谢谢了
本回答被提问者采纳