C语言冒泡排序代码(终极整合版)
包含:
1.逆序
2.从小到大
3.从大到小
#include <stdio.h>
#define N 5
int main(void)
{
int a[N];
int i;
int j;
int temp;
printf("Enter %d numbers please:\n", N);//输入内容
for(i=0;i<N;i++)
scanf("%d", &a[i]);
printf("\n");
printf("Your input is:\n");//显示输入
for(i=0;i<N;i++)
printf(" %d", a[i]);
printf("\n");
printf("From back to front is:\n");//逆序排序
for(i=N-1;i>0||i==0;i--)
printf(" %d", a[i]);
printf("\n");
printf("From smallest to largest is:\n");//从小到大冒泡排序
for(i=0;i<N-1;i++)//遍历每一轮比较
for(j=0;j<N-i-1;j++)//每轮比较前N-i-1个,已排序好的最后i个数不用比较
if(a[j]>a[j+1])//交换a[j]和a[j+1]
{
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
for(i=0;i<N;i++)
printf(" %d", a[i]);
printf("\n");
printf("From largest to smallest is:\n");//从大到小冒泡排序
for(i=0;i<N-1;i++)//遍历每一轮比较
for(j=0;j<N-1-i;j++)//每轮比较前N-i-1个,已排序好的最后i个数不用比较
if(a[j]<a[j+1])//交换a[j]和a[j+1]
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
for(i=0;i<N;i++)
printf(" %d", a[i]);
printf("\n");
return 0;
}