不明白为什么过不了
查看原帖
不明白为什么过不了
1281118
Episode33_楼主2024/3/7 01:37

代码如下;

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int array[39][39]{ 0 };
    array[0][(n - 1) / 2] = 1;
    int i = 0, j = (n - 1) / 2;
    for (int k = 2; k <= n * n; k++)
    {
        if (i == 0 && j != n - 1)
        {
            i = n - 1;
            j++;
            array[i][j] = k;
        }
        else if (j == n - 1 && i != 0)
        {
            j = 0;
            i--;
            array[i][j] = k;
        }
        else if (i == 0 && j == n - 1)
        {
            i++;
            array[i][j] = k;
        }
        else if (array[i - 1][j + 1] == 0)
        {
            i--;
            j++;
            array[i][j] = k;
        }
        else
        {
            i++;
            array[i][j] = k;
        }
    }
    for (int i = 0; array[i][0] != 0 && i < 39; i++)
    {
        for (int j = 0; array[i][j] != 0 && j < 39; j++)
            cout << array[i][j] << ' ';
        cout << endl;
    }
    return 0;
}

#2始终说我的第二行答案太长,我下数据来看了,一个一个核对没有问题,这是什么情况???

2024/3/7 01:37
加载中...