为什么,最后一个数出不来
查看原帖
为什么,最后一个数出不来
588080
n_bluetea楼主2022/4/14 11:32
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#pragma warning(disable:4996)
int box[200][200];
int main()
{
	int n;
	int i,j;
	int sum = 1;
	i = 1, j = 1;
	scanf("%d", &n);
	while (sum<n*n)
	{
		while(j+1<= n && box[i][j+1]==0)
		{
			box[i][j] = sum;
			sum++;
			j++;
		}//向右边输出时
		
		
		while (i+1<= n && box[i+1][j]==0)
		{
			box[i][j] =sum;
			sum++;
			i++;
		}//向下边输出
		

		while (j-1 > 0 && box[i][j-1]==0)
		{
			box[i][j] =sum;
			sum++;
			j--;
		}//向左边输出
		
		while (i-1 > 0 && box[i-1][j]==0)
		{
			box[i][j] =sum;
			sum++;
			i--;
		}//向上面输出
		
	}

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			printf("% 3d", box[i][j]);
		}
		printf("\n");
	}//输出答案
	return 0;
}
2022/4/14 11:32
加载中...