用数组冒泡法,对输入的数字进行由小到大排序。
冒泡排序原理:对输入的n个数字,从头到尾,依次使,每相邻的两个数进行比较,小的在前,大的在后,进行排序,经过第一趟排序后,最大的数被放在了最后。接着重复,对前n-1个数进行同样的比较后,将次大数放在倒数第二位的位置上,依次类推,每一趟按照这样进行排序,直到排序结束为止。
排序过程图如图:
第一趟排序:
代码如下:
#include <stdio.h>
void main() {
int a[11]; // 定义一个长度为11的整型数组a,用于存储输入的10个整数
int i, j, t; // 定义三个整型变量i、j和t,分别用于循环计数和交换元素
printf("please input 10 numbers:"); // 提示用户输入10个整数
for (i = 1; i <= 10; i++) // 使用for循环读取用户输入的10个整数
scanf("%d", &a[i]);
printf("\n");
for (i = 1; i <= 9; i++) // 外层循环控制比较的轮数,即输入几个数就有几轮
for (j = 1; j <= 10 - i; j++) // 内层循环控制每轮比较的次数
if (a[j] > a[j + 1]) // 如果前一个元素大于后一个元素,则交换它们的位置
{
t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;
}
printf("min from max paixuwei:"); // 输出排序后的数组
for (i = 1; i <= 10; i++)
printf("%d", a[i]);
}