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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//
//  main.c
//  7
//
//  Created by 杨晓晨 on 15/6/27.
//  Copyright (c) 2015年 itcast. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    //定义数组
    int a[5][3]=
    {
        {48,45,65},
        {45,48,21},
        {45,25,15},
        {12,2,3},
        {84,24,6}
    };
    for (int i=0; i<14; i++) {//冒泡法全排外层要进行14次循环

        switch (i%3) {  //判断i的值来判断后续操作
            case 1:
            case 0:
            {
                for (int j=0; j<14-i; j++) {
                    if (a[j/3][j%3]>a[j/3][j%3+1]) {//将j的值转换成数组的行和列
                        int temp;
                        temp=a[j/3][j%3];//冒泡法
                        a[j/3][j%3]=a[j/3][j%3+1];
                        a[j/3][j%3+1]=temp;

                    }
                }
                break;

            default:
                for (int j=0; j<14-i; j++) {//同上  此处是为了避免超出数组范围.
                    if (a[j/3][j%3]>a[j/3+1][j%3]) {
                        int temp;
                        temp=a[j/3][j%3];
                        a[j/3][j%3]=a[j/3+1][j%3];
                        a[j/3+1][j%3]=temp;
                    }
                    }
                break;
        }
        }
    }
    for (int i=0; i<5; i++) {//输出
        for (int j=0; j<3; j++) {
            printf("%d\t",a[i][j]);
        }
        printf("\n");
    }


    return 0;
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马