//
// 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;
}
|
|