C语言,不知道为啥超时,求dl教一下
查看原帖
C语言,不知道为啥超时,求dl教一下
593001
Langrange2021楼主2022/9/7 14:24
#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    int a[10][10];
    for (int q = 1; q <= n; q++)
    {
        for (int p = 1; p <= n; p++)
        {
            a[p][q] = 0;
        }
    }
    int k = 1;
    int x = 1;
    int y = 1;
    while (k <= n * n)
    {

        while (y < n && a[x][y] == 0)
        {
            a[x][y] = k;
            y++;
            k++;
        }
        while (x < n && a[x][y] == 0)
        {
            a[x][y] = k;
            x++;
            k++;
        }
        while (y > 1 && a[x][y] == 0)
        {
            a[x][y] = k;
            y--;
            k++;
        }
        while (x > 1 && a[x][y] == 0)
        {
            a[x][y] = k;
            x--;
            k++;
        }
    }
    for (int m = 1; m <= n; m++)
    {
        for (int z = 1; z <= n; z++)
        {
            printf(" %d ", a[m][z]);
        }
        printf("\n");
    }
    return 0;
}
2022/9/7 14:24
加载中...