冒泡排序法(先输入一个数组,再插入一个数并使它们倒序排序)
#include<stdio.h>
int main()
{
int i,a[20],length=6,temp,j,x;
for(i=0;i<length;i++){
scanf("%d",&a[i]);
}
for(j=0;j<length-1-j;j++){
for(i=0;i<length-1;i++){
if(a[i]>a[i+1]){
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
scanf("%d",&x);//插入一个数
for(i=length-1;a[i]>x&&i>=0;i--){
a[i+1]=a[i];//空出一个位置来留给x
}
a[i+1]=x;
length++; //length的长度多了一个
for(i=0;i<length;i++){
printf("%d ",a[i]);}
return 0;
}
输入10个无序整数存储在数组中,然后用起泡排序法对数组中的元素进行从小到大排序后再次输出。
#include<stdio.h>
int main()
{
int i,j,length=10,a[20],temp;
for(i=0;i<length;i++){
scanf("%d",&a[i]);
}
for(j=0;j<length-1;j++)
for(i=0;i<length-1-j;i++){
if(a[i]>a[i+1]){
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
return 0;
}
10-31