欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

冒泡排序实现一组数 正序和倒序排列

程序员文章站 2022-03-01 22:17:21
...
#include <stdio.h>
#define  N  10     //预定义一个N ,值为10

int main() {
    int a[]={14,38,46,23,77,6,95,62,42,10};  //定义一维数组,将值给出
    int i,j,t;            //i代表轮,j代表次,t中间变量将前后值大小交换
    for(i=0;i<N-1;i++) {    //外循环从第0轮开始,到N-1轮结束。
        for(j=0;j<N-i-1;j++)   //内循环 ,上一轮的次数-1;
        if(a[j]>a[j+1])     // 如果前面的数比后面大,就交换。
        { t=a[j];           //先把前面的数给t
          a[j]=a[j+1];         //然后把后面的数送到空的前面中
          a[j+1]=t;      //最后再把前面的数送到空的后面中
    }
}    
   printf("排序后的数字:\n"); 
  
  for(i=0;i<N;i++)  {  //遍历输出这个a[j]的值
 printf("%d\t",a[i]); 
}
  
   for(i=0;i<N-1;i++) { 
        for(j=0;j<N-i-1;j++)  
        if(a[j]<a[j+1])      //将其倒序后输出
        { t=a[j];       
          a[j]=a[j+1];      
          a[j+1]=t;      
    }
}    
   printf("\n倒序后的数字:\n"); 
  
  for(i=0;i<N;i++)  {  //遍历输出这个a[j]的值
 printf("%d\t",a[i]); 
}
  return 0;
}
相关标签: c语言