用c++写一个拉丁方阵
时间: 2023-05-15 20:05:30 浏览: 98
以下是用 C 语言编写的拉丁方阵代码:
#include <stdio.h>
int main() {
int n;
printf("请输入一个奇数n,表示n阶拉丁方阵:");
scanf("%d", &n);
int matrix[n][n];
int i, j;
// 初始化矩阵
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
matrix[i][j] = 0;
}
}
// 填充矩阵
int num = 1;
int row = 0, col = n / 2;
while (num <= n * n) {
matrix[row][col] = num;
num++;
int new_row = (row - 1 + n) % n;
int new_col = (col + 1) % n;
if (matrix[new_row][new_col] == 0) {
row = new_row;
col = new_col;
} else {
row = (row + 1) % n;
}
}
// 输出矩阵
printf("拉丁方阵如下:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d\t", matrix[i][j]);
}
printf("\n");
}
return 0;
}
如果您有任何问题或疑问,请随时问我。