键盘录入两个整数m,n,输出一个m行n列的矩阵,这个矩阵是1~m*n这些自然数按照右、下、左、上螺旋填入的结果。
例如读入数字4,5,则输出结果为:
1 2 3 4 5
14 15 16 17 6
13 20 19 18 7
12 11 10 9 8
import java.util.Scanner;//导包 public class T{ public static void main(String[] args){ //键盘录入 Scanner sc=new Scanner(System.in); System.out.println("请输入行数m:"); int m=sc.nextInt(); System.out.println("请输入列数n:"); int n=sc.nextInt(); //定义一个m行n列的数组 int[][] arr=new int[m][n]; //定义数组索引 int x; int y; //给数组赋值 int z=1; int c=0; //循环次数未知,用while循环 while(true){ //设置停止条件 if(z>m*n){ break; } //第(c)行 for(x=c,y=c;y=c;y--){ arr[x][y]=z; z++; } //第c列 for(x=m-2-c,y=c;x>c;x--){ arr[x][y]=z; z++; } c++; } //遍历数组 for(int a=0;a 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)