赞
踩
打印n行的以下图形,n由键盘输入,例如n=5时:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
输入n,表示n行
输出符合规律的n行矩阵
5
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9
傻子都会做。
while循环不断向内赋值就行了。
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- int n,t=1,i=0,j;
- cin>>n;
- int a[n+2][n+2]={};
- j=i;
- a[0][j]=1;
- while(t<n*n)
- {
- while(!a[i][j+1]&&j+1<n)
- {
- a[i][++j]=++t;
- }
- while(!a[i+1][j]&&i+1<n)
- {
- a[++i][j]=++t;
- }
- while(!a[i][j-1]&&j-1>=0)
- {
- a[i][--j]=++t;
- }
- while(!a[i-1][j]&&i-1>=0)
- {
- a[--i][j]=++t;
- }
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- cout<<a[i][j]<<" ";
- }
- cout<<endl;
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。