您的位置:首页 > 编程语言 > C语言/C++

螺旋矩阵

2017-10-31 19:59 218 查看
题目内容:

 一个从里向外逆时针转出来的螺旋n*n的矩阵 输

输入描述

矩阵的规模,0~50,如5表示5行5列的矩阵

输出描述

矩阵的规模,0~50,如5表示5行5列的矩阵,每个数占5位

输入样例

5

输出样例

25    24   23   22    21

10     9    8    7    20

11     2    1    6    19

12     3    4    5    18

13    14   15   16    17

#include <cstdio>
#include <iostream>
using namespace std;

int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[100][100];
int sum,k=0,i,j;
sum = n*n;
while(k<=n/2)
{
for(i = k; i <= n-k-1; i++)
a[k][i] = sum--;
for(i=k+1; i<=n-k-1; i++)
a[i][n-k-1]=sum--;
for(i = n-k-2; i>=k; i--)
a[n-k-1][i] = sum--;
for(i =n-k-2; i>=k+1;i--)
a[i][k] = sum--;
k++;
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(j==0)
printf("%d",a[i][j]);
else
printf("%5d",a[i][j]);
}
cout<<endl;
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++