谁帮帮忙解释下这个C程序例子

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:31:24
#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers :\n")
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for (j=0;j<9;j++)
for (i=0;i<9-j;i++)
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1];
}
printf("the sorted numebers :\n");
for (i=0;i<10;i++);
printf("%d",a[i]);
printf("\n");
}

是对输入的数进行排序,谁能解释下for语句的详细内容。把每一步的运算步骤和结果标明下 ,谢谢了。、
写一次循环就好了

这就是传说中的冒泡排序,外循环是比较的轮数,内循环是每一轮所要比较的次数,
这个说不太好说,你自己用支笔画一下就明白了,
有个规律,就是元素个数=比较的轮数+每轮需要比较次数,
一般我是这么写的。

for(i=1;i<10;++i)//其实比较的轮数就是元素个数减一
for(j=0;j<10-i;++j)
这样写我认为更清晰