1021. 从前有座山

Description

从前有座山,山的俯视图是一个n×n

的矩形,(1,1)位置海拔最低为1

,然后海拔沿环形依次升高。

给定n的值,输出这座山的海拔高度图。

Input Format

输入仅有一行,为一个正整数n

Output Format

输出为这座山的海拔高度图。

Sample Input

4

Sample Output

     1     2     3     4
    12    13    14     5
    11    16    15     6
    10     9     8     7

Hint

首先程序#include <iomanip>

假设要输出a,将cout << a改成cout << setw(6) << a

Limits

对于20%的数据,N<10

对于100%的数据,N<150

 

#include<iostream>
using namespace std;

int main(){
    int n,i=0,j=0;
    cin>>n;
    int a[151][151]={0};
    int count=1,cishu=0;
    while(count<=n*n){
        i=cishu;
        j=cishu;
        while(j<n-cishu){
            a[i][j]=count;
            count++;
            j++;
        }
        j--;
        i++;
        while(i<n-cishu){
            a[i][j]=count;
            count++;
            i++;
        }
        i--;
        j--;
        while(j>=cishu){
            a[i][j]=count;
            count++;
            j--;
        }
        i--;
        j++;
        while(i>cishu){
            a[i][j]=count;
            count++;
            i--;
        }
        i++;
        j++;
        cishu++;
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
} 
原文地址:https://www.cnblogs.com/bernieloveslife/p/7878616.html