1.有10个地区的面积,要求他们按从小到大的顺序排列。
设计思路:
这种问题称为排序(sort)。
排序有两种;
1.升序,从小到大排列
2.降序,从大到小排列。
排序有很多种方法。是一种基本的,很重要的算法。本例采用:冒泡法排序(又称起泡法排序)。
“冒泡法排序”的设计思路是:每次将相邻两个数比较,将小的调到前头。
如果有n个数,则要进行n-1趟比较。在第一趟比较中要进行n-1次两两比较,在第n趟比较中要进行n-j次两两比较。
代码:
#include <stdio.h>
int main()
{
int i,j,t;
int a[10];
printf("input 10 numbers: \n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++) //进行9次循环,实现9趟比较
for(i=0;i<9-j;i++) //在每一趟中进行9-j次比较
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=0;i<10;i++)
printf("%d",a[i]);
return 0;
}
结果展示:
