现有一组m*n矩阵,请顺时针输出 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输出为正确结果应为 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 例如 1 2 3 4 5 6 7 8 9 10 11 12 输出正确结果为: 1 2 3 4 8 12 11 10 9 5 6 7 实现代码如下: public class Round { private static int count = 0; public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入N行N列"); int x = s.nextInt(); int y = s.nextInt(); int[][] awarry = new int[x][y];//初始化数组 System.out.println("请输入数组元素"); for (int i = 0; i < x; i++)//循环输入 for (int j = 0; j < y; j++) awarry[i][j] = s.nextInt(); System.out.println("你输入的数组为"); for (int i = 0; i < x; i++) {//循环输出 for (int j = 0; j < y; j++) System.out.print(awarry[i][j] + "\t"); } System.out.println(); soeasy(awarry, x-1, y-1); } public static void soeasy(int[][] a, int hang, int lie) { int over1 = 0, over2 = 0; int i = count, j = count, k; for (; j <=lie; j++) { System.out.print(a[i][j] + "\t"); }j--; if(count==hang)return; for (i= i + 1; i <=hang; i++) { System.out.print(a[i][j] + "\t"); }i--; if(count==lie)return; for (j = j - 1; j >= count; j--) { System.out.print(a[i][j] + "\t"); }j++; for (i = i - 1; i>= count; i--) { if (i == count) { count++; soeasy(a, --hang, --lie); } else { System.out.print(a[i][j] + "\t"); } } } }
java 个人编程突破1
最新推荐文章于 2022-07-07 13:46:25 发布