A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘彦麟 中级黑马   /  2015-7-28 22:39  /  725 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

是两两相邻的元素进行比较,然后将较大的(或较小的)放到后面,慢慢的将大的元素依次后放
    第一步是将最大的元素(或最小的元素)放到最后
    第二步在剩下的元素中继续完成这个操作

#include <stdio.h>
int main(){
   
    int n,stemp;
    printf("请输入冒泡排序的元素个数:\n");
    scanf("%d",&n);
    int a[n];
    for(int i=1;i<=n;i++){
        printf("请输入第%d个数的值为:\n",i);
        scanf("%d",&a[i-1]);
    }
   
    printf("您输入的%d个数字依次为:\n",n);
    for (int i=1; i<=n; i++) {
        printf("%d\t",a[i-1]);
    }
    for (int i=0; i<n-1; i++) {
        for (int j=i+1; j<n; j++) {
            if(a[j]>a[i]){
                stemp=a[i];
                a[i]=a[j];
                a[j]=stemp;
                        }
        }
    }
    printf("\n\n冒泡排序的结果为【大--->小】:\n");
    for (int i=1; i<=n; i++) {
        printf("%d\t",a[i-1]);
    }
   
   
    printf("\n\n冒泡排序的结果为【小--->大】:\n");
    for (int i=n; i>=1; i--) {
        printf("%d\t",a[i-1]);
    }

    return 0;
}

1 个回复

倒序浏览
楼主真认真,再温习一遍!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马