**
冒泡排序
**
前言
好久没写博客了,虽说冒泡排序很基础,但还是要一点点的来…
题目
任务描述
本关任务:将十个数进行从大到小的顺序进行排列。
相关知识(略)
编程要求
根据提示,在右侧编辑器Begin-End处补充代码。
输入
输入十个整数。
输出
以从大到小的顺序输出这个十个数。
测试说明
样例输入:
1 2 3 4 5 6 7 8 9 10
样例输出:
10 9 8 7 6 5 4 3 2 1
代码
#include<stdio.h>
int main(void)
{
int i,j,n,a[15];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);//输入数组
}
for(i=0;i<9;i++)//可以理解为10个位置,9个循环是固定9个位置,剩余的1个位置也就固定了
for(j=0;j<9-i;j++)//因为有i个数比较过了,所以在每个循环中比较9-i次
{
if(a[j]<a[j+1])//小循环里不能出现i,i的意义是循环次数,j才是内部的相互比较
{
n=a[j];
a[j]=a[j+1];
a[j+1]=n;
}
}
for(i=0;i<10;i++)//该循环不属于上述循环,只是单纯为了输出,能表示下标就行,叫阿猫阿狗都行~~doge~~
{
printf("%d ",a[i]);
}
return 0;
}
注释
for循环嵌套里的第一个for是总共有几个大的循环,第二个是在对应大循环里数与数的比较次数,也就是说真正的比较在于第二个for循环