c语言问题输入的十个数排序下面那里错了(我用的是起泡法)

来源:百度知道 编辑:UC知道 时间:2024/06/24 08:00:11
#include<stdio.h>
void main()
{int i,b[10],,j,t;

printf("enter data:");

for(i=0;i<10;i++)
scanf("%d",&b[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(b[i]>b[i+i])
{t=b[i];
b[i]=b[i+1];
b[i+1]=t;
}
printf("排序结果为:\n");
for(i=0;i<10;i++)

printf("%5d",b[i]);
printf("\n") ;
}

#include<stdio.h>
void main()
{int i,b[10],j,t;

printf("enter data:");

for(i=0;i<10;i++)
scanf("%d",&b[i]);
for(j=0;j<9;j++)
{
for(i=j+1;i<9;i++)
{
if(b[j]>b[i])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
}
printf("排序结果为:\n");
for(i=0;i<10;i++)

printf("%5d",b[i]);
printf("\n") ;
}

有两处错误:
#include<stdio.h>
void main()
{int i,b[10],,j,t; /*j前面多写了一个','号*/

printf("enter data:");

for(i=0;i<10;i++)
scanf("%d",&b[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(b[i]>b[i+i]) /* 此处应为b[i+1],不是b[i+i]*/
{t=b[i];
b[i]=b[i+1];
b[i+1]=t;
}
printf("排序结果为:\n");
for(i