c++: 平方矩阵

平方矩阵

1.方式一
注:没有使用数组,找数与数之间的关系,确认分解点,然后编写逻辑。
点击查看代码
#include <iostream>

using namespace std;

int main(){
    int n;
    while(cin >> n, n){
        for(int i = 1; i <= n; i++){
            for(int j = 1; j <= n; j++){
                int up = i, down = n - i + 1, left = j, right = n - j + 1;
                cout << min(min(up, down), min(left, right)) << " ";
            }
            cout << endl;
        }
        cout << endl;
    }
    return 0;
}

2.方式二
点击查看代码
#include <iostream>

using namespace std;

int a[100][100];
int main(){
    int n;
    while(cin >> n, n){
        for(int i = 0; i < n; i++){
            for(int j = i; j < n - i; j++){
                a[j][i] = a[i][j] = i + 1; // 处理左和上对应的数据。
                a[j][n - i - 1] = a[n - i - 1][j] = i + 1;  // 处理右和下对应的数据
            }
        } 
        for(int i = 0; i < n; i++){
            for(int j = 0; j < n; j++){
                cout << a[i][j] << " ";
            }
            cout << endl;
        }
        cout << endl;  
    }

    return 0;
}
图片理解 ->

image

posted @ 2022-04-08 10:29  SKa-M  阅读(121)  评论(0编辑  收藏  举报