Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
3600 | xuekaifeng | 二维数组输出(1) | C++ | 编译错误 | 0 | 0 MS | 0 KB | 850 | 2019-12-20 20:13:51 |
#include<stdio.h> #include<stdlib.h> #include <iostream> using namespace std; #define N 20 void Latin_Square(int n, int a[][N]); void main() { int i, j, n; int latin[N][N]; printf("请输入矩阵的阶n="); scanf("%d", &n); for (i = 0; i < n; i++) for (j = 0; j < n; j++) latin[i][j] = 0; Latin_Square(n, latin); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) printf("%4d", latin[i][j]); printf("\n"); } system("pause"); } void Latin_Square(int n, int a[][N]) { int i, j, sub, index; for (i = 1; i <= n; i++) { do { index = rand() % n; } while (a[0][index] != 0); a[0][index] = i; } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) if (a[0][j] == i + 1) break; sub = j + 1; for (j = 1; j < n; j++) a[j][a[0][(sub++) % n] - 1] = a[0][i]; } }