#include
#include
void main( )
{
int a[10]={13,20,64,78,21,8,14,30,45,23};
int i,j,t;
//for(i=0;i<=9;i++)
//scanf("%d",a[i]);
//printf("\n");
for(j=0;j<10;j++)//冒泡法
{
for(i=j;i<10;i++)//依次找到>=j元素中的最大,然后放到a[j]中
{//其中i=j,是关键,否则不能正常排序
if(a[j] {t=a[j];a[j]=a[i];a[i]=t;}
}
}
for(i=0;i<=9;i++)
printf("%d\t",a[i]);
printf("\n");
}
修改了一下,可以了,您对for的使用还不熟练,c要多上机操作,把有疑问的知识点通过编程弄明白
for(i=0;i=9-j;i++) 这里弄错了,估计是你不小心漏掉了,应该是for(i=0;i<=9-j;i++)
for(i=0;i<=9;i++)
printf("%d",a[i]);
这里输出的结果是连在一起的,不好看,要隔开,留一个空格。printf("%d ",a[i]);
//for(i=0;i<=9;i++)
//scanf("%d",a[i]);
//printf("\n");
这部分都是有点问题的,但是你加上注释了就不影响
for(i=0;i=9-j;i++)
应该改为for(i=0;i<9-j;i++)
for(i=0;i=9-j;i++)这一句有问题,应该是for(i=0;i<=9-j;i++),把这改了就好了,还有就是你的最后 一句输出也有问题,虽然没有错,但是结果不美观,最好在%d后面加个空格会好点。
咳...就一个人说中重点...其他的说的真臭....这么LJ还来说教...误人子弟...