为什么在软件上例子都试了没问题,提交只过了第四个点
查看原帖
为什么在软件上例子都试了没问题,提交只过了第四个点
516905
cwqluo楼主2021/8/30 16:04
#include <iostream>
using namespace std;

int main()
{
    int n, i = 1, j = 1, k = 1, a[30][30] = { 0 }, c = 1, s = 4;
    cin >> n;
    for (i = 1; i <= n; i++)//规定可以放数字的格子
    {
        for (j = 1; j <= n; j++)
        {
            a[i][j] = 1;
        }

    }
    i = 1;
    j = 1;
    while (k <= (n * n))//向右放数字
    {
        while (a[i][j] == 1)
        {

            a[i][j] = k;
            j++;
            k++;
        }
        j = j - 1;
        i++;
        while (a[i][j] == 1)//向下放数字
        {

            a[i][j] = k;
            i++;
            k++;
        }
        i--;
        j--;
        while (a[i][j] == 1)//向左放数字
        {

            a[i][j] = k;
            j--;
            k++;
        }
        j++;
        i--;
        while ((a[i][j] == 1) && (i != 1))//向上放数字
        {

            a[i][j] = k;
            i--;
            k++;
        }
        i++;
        j++;

    }
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j <= n; j++)
        {
            if (a[i][j] >= 10)
            {
                cout << ' ' << a[i][j] << ' ';
            }
            else
            {
                cout << ' ' << ' ' << a[i][j] << ' ';
            }
        }
        if(i<n)
        {
            cout << '\n';
        }
    }


    return 0;
}
2021/8/30 16:04
加载中...