C语言之冒泡排序
题解提示:
1、先通过动态赋值,让用户输入10个待排序的数字,保存为数组;
2、利用两个循环:
2.1 外循环:限制有多少趟比较----n-1次比较
2.2 内循环:控制莫趟比较要进行两辆比较的次数 ---n-j次比较
3、如果a[i] > a[i+1],则进行交换
4、打印结果
C代码示例:
#include <stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("Please input 10 number:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("\n");
**//用户动态地输入需要排序的数。**
for(j=0;j<9;j++) **//外循环:限制有多少趟比较----n-1次比较**
{
for(i=0;i<9-j;i++) **//内循环:控制某趟比较要进行两辆比较的次数 ---n-j次比较**
{
if(a[i]>a[i+1]) **//每趟比较的两个数进行交换。**
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
printf("the scort numbers: \n");
for(i=0;i<10;i++) **//控制从小到大输出n个数。**
{
printf("%d ",a[i]);
}
printf("\n");
}
C代码执行示例:
┌──(root㉿kali)-[/home/c~]
└─# gcc test3.c && ./a.out
Please input 10 number:
100
1
23
45
65
66
13
101
999999
88
the scort numbers:
1 13 23 45 65 66 88 100 101 999999
┌──(root㉿kali)-[/home/c~]
└─#
注:此处我使用的是GCC编辑器。