谁能帮我详细的解释一下这个程序~~~

来源:百度知道 编辑:UC知道 时间:2024/05/24 19:06:28
main()
{
int a[11];
int i,j,t;
printf("input 10 number:\n");
for (i=1;i,11;i++)
scanf("%d",&a[i]);
peintf("\n");
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]+a[i+1];a[i+1]=t;}
printf("the sorted numbers :\n");
for(i=1;i<11;i++)
printf("%d",a[i]);
}

这是一个用起泡发对10个数(由小到大)排序的程序,用了一维数组的原理。可是我从第6行后就看的一头雾水,有哪个好心人能详细的把下面每一步说明给我看一下~~~~```

main()
{
int a[11];
int i,j,t;
printf("input 10 number:\n");
for (i=1;i,11;i++) /*(i,11)逗号运算符,(i,11)=11,即到i==11时循环停止,相当于i<11*/
scanf("%d",&a[i]); /*从键盘输入a[1]~a[10]*/
peintf("\n"); /*打印回车.e~~你写错了~~是printf*/
for(j=1;j<=9;j++) /*以下4行是用冒泡法对a[1]~a[10]排序。(这行控制比较回数)*/
for(i=1;i<=10-j;i++) /*这行控制每回的比较次数*/
if(a[i]>a[i+1]) /*这两行表示比较a[i]和a[i+1],把大数移动到a[i+1],把小数放进a[i]*/
{t=a[i];a[i]+a[i+1];a[i+1]=t;}
printf("the sorted numbers :\n"); /*打印出""里的内容*/
for(i=1;i<11;i++) /*以下两行利用循环打印出a[1]~~a[10]*/
printf("%d",a[i]);
}

好像有点乱,不过希望对你有帮助

for (i=1;i,11;i++) 这行出错了,要读入10个数据,正确的应该是
for(i=1;i<11;i++)
scanf("%d",&a[i]);
peintf("\n"); 也错了
应该是printf("\n");
估计以上都是你不小心输入的时候出