【C语言】计算3x3矩阵每行的最大值并存入第四列

文章目录


代码

c 复制代码
#include <stdio.h>

int main() {
    int a[3][4]; // 定义一个3行4列的二维数组
    int i, j, max;

    printf("请输入一个3行3列的矩阵,每输入一个元素后按回车键:\n");

    // 读取用户输入的3x3矩阵
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            scanf("%d", &a[i][j]);
        }
    }

    // 计算每行的最大值并存储在第四列
    for (i = 0; i < 3; i++) {
        max = a[i][0]; // 假设每行的第一个元素是最大值
        for (j = 1; j < 3; j++) { 
            if (max < a[i][j]) { 
                max = a[i][j]; // 更新最大值
            }
        }
        a[i][3] = max; // 将最大值存储在第四列
    }
    
    // 输出原始矩阵及每行的最大值
    printf("输入的矩阵及每行的最大值:\n");
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) { 
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }

    return 0;
}

解释

  1. 数组定义 :我们定义了一个3行4列的二维数组a[3][4],用于存储矩阵元素及其每行的最大值。

  2. 输入矩阵:通过两层嵌套循环,我们读取用户输入的3x3矩阵。外层循环控制行,内层循环控制列。

  3. 计算最大值:对于每一行,我们首先假设第一个元素是最大值,然后通过内层循环遍历该行的其他元素,使用条件判断更新最大值。

  4. 存储最大值:将每行计算出的最大值存储在该行的第四列。

  5. 输出结果 :最后,我们通过两层嵌套循环输出原始矩阵及其每行的最大值。

相关推荐
qualifying1 天前
JAVAEE——多线程(2)
java·开发语言
ALex_zry1 天前
C++ 中多继承与虚函数表的内存布局解析
java·开发语言·c++
杰瑞不懂代码1 天前
基于 MATLAB 的 AM/DSB-SC/VSB 模拟调制与解调仿真及性能对比研究
开发语言·matlab·语音识别·am·dsb-sc·vsb
霁月的小屋1 天前
从Vue3与Vite的区别切入:详解Props校验与组件实例
开发语言·前端·javascript·vue.js
趣知岛1 天前
初识DeepSeek
开发语言·人工智能·deepseek
superman超哥1 天前
仓颉编译器优化揭秘:尾递归优化的原理与实践艺术
开发语言·后端·仓颉编程语言·仓颉·仓颉语言·尾递归·仓颉编译器
lkbhua莱克瓦241 天前
基础-SQL-DML
开发语言·数据库·笔记·sql·mysql
独自破碎E1 天前
说一下消息队列有哪些模型
java·开发语言
saber_andlibert1 天前
【C++转GO】初阶知识
开发语言·c++·golang
小笔学长1 天前
Mixin 模式:灵活组合对象功能
开发语言·javascript·项目实战·前端开发·mixin模式