怎么用c语言生成一个n阶方阵

   2025-02-13 3550
核心提示:要生成一个n阶方阵,可以使用二维数组来表示。下面是一个使用C语言生成n阶方阵的示例代码:#include stdio.h#define MAX_SIZE 10

要生成一个n阶方阵,可以使用二维数组来表示。下面是一个使用C语言生成n阶方阵的示例代码:

#include <stdio.h>#define MAX_SIZE 10void generateSquareMatrix(int matrix[MAX_SIZE][MAX_SIZE], int n) {    int num = 1;    int row = 0, col = n / 2;        // 初始化矩阵    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            matrix[i][j] = 0;        }    }        // 生成方阵    while (num <= n * n) {        matrix[row][col] = num;        num++;                // 移动位置        row--;        col++;                // 处理边界和重复数字        if (row < 0 && col >= n) {            row += 2;            col--;        }        else if (row < 0) {            row = n - 1;        }        else if (col >= n) {            col = 0;        }        else if (matrix[row][col] != 0) {            row += 2;            col--;        }    }}void printMatrix(int matrix[MAX_SIZE][MAX_SIZE], int n) {    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            printf("%d ", matrix[i][j]);        }        printf("\n");    }}int main() {    int matrix[MAX_SIZE][MAX_SIZE];    int n;        printf("请输入方阵的阶数:");    scanf("%d", &n);        generateSquareMatrix(matrix, n);    printMatrix(matrix, n);        return 0;}

这段代码中,generateSquareMatrix函数用于生成n阶方阵,将生成的方阵存储在matrix二维数组中。printMatrix函数用于打印方阵的结果。

main函数中,首先通过用户输入获取方阵的阶数n,然后调用generateSquareMatrix函数生成方阵,最后调用printMatrix函数打印结果。

注意,这里使用的MAX_SIZE宏定义了方阵的最大阶数,你可以根据需要修改该值。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言