java螺旋数组

java螺旋数组,第1张

java螺旋数组 1. (程序设计题)

对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。例如,一个 4 行 5 列的螺旋矩阵如下:

  1   2   3   4   5

  14 15 16 17  6

  13 20 19 18  7

  12 11 10 9    8

要求编程实现:输入两个整数M和N,输出一个M*N的螺旋矩阵。

import java.util.Scanner;
class temp
{
	public static void main(String[] args) 
	{
	
		int i=0,j=0;

		System.out.print("请输入M和N : ");

		Scanner sc=new Scanner(System.in);

		int M=sc.nextInt();

		//sc.close();

		Scanner sd=new Scanner(System.in);

		int N=sd.nextInt();

		//sd.close();

		int[][] a=new int[100][100];

		for(int k=1;k<=N*M;k++){

			a[i][j]=k;

			if((j0)&&(a[i][j-1]==0)){

				j--;

			}

			else {

			while(a[i-1][j]==0){

				i--;

				k++;

				a[i][j]=k;

				//System.out.println("i:"+i+"t"+"j:"+j+"t"+"k:"+k+"t"+"a[i][j]:"+a[i][j]+"t");

			}

			j++;

			}

			}

		for(int p=0;p 

2. (程序设计题)  

 

import java.util.Scanner;

class temp

{

	public static void main(String[] args) 

	{

	int[][] a=new int[100][100];

	boolean[][] flag=new boolean[100][100];

	int i=0,j=0;

	System.out.print("请输入M和N : ");

	Scanner sc=new Scanner(System.in);

	int M=sc.nextInt();

	Scanner sd=new Scanner(System.in);

	int N=sd.nextInt();

	int val=1;

	for(int p=0;p0)&&(flag[i][j-1])){

			j--;

		}

		else {

		while(flag[i-1][j]){

			i--;

			k++;

			System.out.print(a[i][j]+" ");

			flag[i][j]=false;

//System.out.println("i:"+i+"t"+"j:"+j+"t"+"k:"+k+"t"+"a[i][j]:"+a[i][j]+"t");

		}

		j++;

		}

	}

	}


}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4996050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存