螺旋矩阵怎么写?
2023-08-09 13:56:50
发布于:广东
题目详情
T2279.螺旋矩阵
入门
通过率:48.18%
加入题单
题目描述
给你一个整数
�
n,按要求输出
�
×
�
n×n 的螺旋矩阵。
输入格式
输入一行,包含一个整数
�
n (
0
<
�
≤
100
0<n≤100)。
输出格式
输出
�
n 行,每行包含
�
n 个正整数。
输入输出样例
输入#1
4
输出#1
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
全部评论 2
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, i, j, num=1;
cin >> n;
int a[100][100]={0};
for(int m=0;m<n/2;m++)
{
for(j=m;j<n-m;j++)
{2023-08-09 来自 广东
0a[m][j]=num++;
}
for(i=m+1;i<n-m-1;i++)
{
a[i][n-m-1]=num++;
}
for(j=n-m-1;j>=m;j--)
{
a[n-m-1][j]=num++;
}2023-08-09 来自 广东
0}
if(n%2==1)
{
a[n/2][n/2]=n*n;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout <<a[i][j] <<" ";
}
cout << endl;
}re
2023-08-09 来自 广东
0turn 0;
}2023-08-09 来自 广东
0
#include <stdio.h>
int main(){
int n, i = 0, j = 0, a[120][120] = {0}, tot = 0;
scanf("%d", &n);
int num = a[0][0] = 1;
while (num < n*n){
while (j+1<n && !a[i][j+1]{2023-08-09 来自 浙江
0a[i][++j] = ++num;
}
while (i +1 < n && !a[i + 1][j]){
a[++i][j] = ++num;
}
while (j-1 >= 0 && !a[i][j - 1]){
a[i][--j] = ++num;
}2023-08-09 来自 浙江
0while (i -1>= 0 && !a[i - 1][j]){
a[--i][j] = ++num;
}} for (i = 0; i < n; i++){ for (j = 0; j < n; j++){ if(j==n-1){ printf("%d", a[i][j]);
2023-08-09 来自 浙江
0}else{
printf("%d ", a[i][j]);
}} printf("\n"); } return 0;
}
2023-08-09 来自 浙江
0
有帮助,赞一个