import java.util.Scanner;
public class 二维数组回形遍历 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int row = sc.nextInt();
int col = sc.nextInt();
int array[][] = new int[row][col];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
array[i][j] = sc.nextInt();
}
}
int p = 1; //判断遍历方式
int s = 0; //上
int x = row-1; //下
int z = 0; //左
int y = col-1; //右
for (int i = 0; i < row*col; i++) {
if (p%4==1&&z<=y){
for (int j = z; j <= y; j++) {
System.out.println(array[s][j]);
}
s++;
p++;
}else if (p%4==2&&s<=x){
for (int j = s; j <= x; j++) {
System.out.println(array[j][y]);
}
y--;
p++;
}else if (p%4==3&&y>=z){
for (int j = y; j >= z; j--) {
System.out.println(array[x][j]);
}
x--;
p++;
}else if (p%4==0&&x>=s){
for (int j = x; j >= s; j--) {
System.out.println(array[j][z]);
}
z++;
p++;
}
}
}
}
0.0分
1 人评分
简单的a+b (C语言代码)浏览:719 |
多输入输出练习1 (C语言代码)浏览:1219 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:909 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:836 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:565 |
P1000 (C语言代码)浏览:911 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |
模拟计算器 (C语言代码)浏览:2366 |