冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要大,说明顺序不对,则将它们交换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成。
#include <stdio.h>
int main()
{
while(1)
{
int x,n;
printf("输入需要比较的整数数量: \n");
scanf ("%d",&n);
int num[n];
printf("输入需要比较的整数: \n");
for(int i=0;i<n;i++)
{
scanf("%d",&num[i]);
}
for(int q=0;q<n;q++)//将相邻两个数据比较大小的次数为n次
{
for(int j=0;j<n-1;j++)//将相邻两个数据比较大小
{
if(num[j]<=num[j+1])
{
x=num[j];
num[j]=num[j+1];
num[j+1]=x;
}
}
}
for(int k=0;k<n;k++)//遍历输出
{
if(k==n-1)
printf("%d\n",num[k]);
else
printf("%d ",num[k]);
}
}
return 0;
}