C++代码求助
查看原帖
C++代码求助
665493
Coder12823楼主2022/6/23 15:52
#include <cstdio>
using namespace std;

int main() {
    int n, x, y;
    scanf("%d%d%d", &n, &x, &y);
    int di = 0, dj = 1;
    int i = 0, j = -1;
    int a[n][n];
    for (int i = 0; i < n; i++) {
    	for (int j = 0; j < n; j++) {
    		a[i][j] = 0;
		}
	}
    for (int t = 1; t <= n * n; t++) {
        i += di;
        j += dj;
        a[i][j] = t;
        if (t == 1) {
        	continue;
		}
        if (i + j == n - 1 && i < j) {
            di = 1;
            dj = 0;
            // printf("下"); 
        } else if (i == j) {
            di = 0;
            dj = -1;
            // printf("左");
        } else if (i + j == n - 1 && i >= j) {
            di = -1; 
            dj = 0;
            // printf("上");
        } else if (i == j + 1) {
            di = 0;
            dj = 1;
          	// printf("右"); 
        }
		// printf(",i:%d, j:%d, t:%d\n", i, j, t);
    }
    for (int b = 0; b < n; b++) {
    	for (int c = 0; c < n; c++) {
    		printf("%d ", a[b][c]);
		}
		printf("\n");
	}
    printf("%d", a[x][y]);
    
    return 0;
}

求助!!!

2022/6/23 15:52
加载中...