时间68 2021-12-08 18:46 采纳率: 100%
浏览 39
已结题

大一的C语言题不会做求解

n阶矩阵(所有数据为整数),求对角线元素的和及四周元素的和。(n由键盘输入)

  • 写回答

2条回答 默认 最新

  • 加拉萨假期 2021-12-08 19:57
    关注

    要下班了,我贴出来吧

    
    #include "stdio.h"
    
    int main()
    {
        int n;
    
        //从命令行读取你的矩阵规格到变量n
        scanf("%d", &n);
        printf("You set n = %d\n", n);
    
        //定义n x n矩阵
        int matrix[n][n];
        //不知道你的矩阵的要求,我就随便用一个连续数列来填矩阵了
        for (int row = 0; row < n; row++)
        {
            for (int col = 0; col < n; col++)
            {
                matrix[row][col] = row * n + col;
            }
        }
    
        //打印矩阵出来看
        printf("... and the matrix is:\n");
        for (int row = 0; row < n; row++)
        {
            for (int col = 0; col < n; col++)
            {
                printf("%d  ", matrix[row][col]);
                if (col == n - 1)
                {
                    printf("\n");
                }
            }
        }
    
        //四周元素和
        int sumBoarder = 0;
        //对角和
        int sumDiagonal = 0;
    
        //遍历每个矩阵的元素,并判断元素是否满足四周元素和或者对角和要求
        //如果满足,则把它累加到对应的变量上
        for (int row = 0; row < n; row++)
        {
            for (int col = 0; col < n; col++)
            {
                //这个判断是不是四周元素的方法就是看行是不是第一行或者最后一行,
                //然后列是不是第一列或者最后一列
                if (row == 0 || row == n - 1 || col == 0 || col == n - 1)
                {
                    sumBoarder += matrix[row][col];
                }
    
                //这个判断是判断是不是对角元素,判断方式是行列坐标索引相等
                if (row == col)
                {
                    sumDiagonal += matrix[row][col];
                }
            }
        }
    
        //打印结果
        printf("boarders=%d, diagonal= %d\n", sumBoarder, sumDiagonal);
    }
    
    

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 创建了问题 12月8日

悬赏问题

  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1