请问这个代码什么意思 int i, j, temp; int a[10]; //建立数组 for (i = 0; i < 10; i

请问这个代码什么意思
int i, j, temp;
int a[10]; //建立数组
for (i = 0; i < 10; i++) {
scanf("%d,", &a[i]);
} //输入数组数字
for (j = 0; j < 9; j++){
for (i = 0; i < 9 - j; i++){
if (a[i] > a[i + 1])//如果a[i]数字大小大于a[i+1]
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}//交换数组值
}
}
for (i = 0; i < 10; i++){
printf("%d,", a[i]);//输出
}

程序里已有说明。
程序功能是 输入 10个 整 数,然后 对这10个数 作 大小 排队 比较,大的数朝后站,小的数超前站。比较完毕,输出 排好队的数。
int i, j, temp; int a[10]; 变量声明,i,j 用于循环控制变量,temp 用于 2数交换的工作单元,a[10] 用来存 10 个 数。
排队方法: 第一步从 a[0]到a[9],依次找最大的,最大的放入 a[9].
第2步从 a[0]到a[8],依次找最大的,最大的放入 a[8].
第3步从 a[0]到a[7],依次找最大的,最大的放入 a[7]
.....
这个 { temp = a[i]; a[i] = a[i + 1]; a[i + 1] = temp;} 是前后两个数交换位置。

排好后 输出。
温馨提示:答案为网友推荐,仅供参考
相似回答