博客
关于我
21、二维数组行列转换
阅读量:797 次
发布时间:2023-04-04

本文共 998 字,大约阅读时间需要 3 分钟。

C语言二维数组交换行与列的实现

在编程过程中,有时我们需要对二维数组进行行与列的交换操作。以下是一个经典的例子,展示了如何通过循环结构对两个二维数组进行转换。

示例代码

#include 
int main() { int a[2][3] = {1, 2, 3, 4, 5, 6}; int b[3][2]; // 初始化数组a printf("原始数组\n"); for(int i = 0; i < 2; i++) { for(int j = 0; j < 3; j++) { printf("%d ", a[i][j]); } printf("\n"); } // 交换行与列存储到数组b for(int i = 0; i < 2; i++) { for(int j = 0; j < 3; j++) { b[j][i] = a[i][j]; } } // 输出转换后的数组b printf("转换后的数组\n"); for(int i = 0; i < 3; i++) { for(int j = 0; j < 2; j++) { printf("%d ", b[i][j]); } printf("\n"); } return 0;}

代码解释

  • 数组声明与初始化

    • 首先,我们声明了两个二维数组aba是一个2行3列的数组,初始值为1, 2, 3, 4, 5, 6。b则是一个3行2列的空数组。
  • 打印原始数组

    • 使用printf函数循环打印数组a的所有元素,按行输出。
  • 数组元素交换

    • 通过双重循环遍历数组a,将每个元素赋值给数组b,实现行与列的交换。具体来说,a[i][j]的值会被赋值到b[j][i]中。
  • 打印转换后的数组

    • 最后,再次使用printf函数循环打印数组b的所有元素。
  • 运行结果

    运行上述程序,屏幕上会显示以下内容:

    原始数组1 2 34 5 6转换后的数组1 42 53 6

    总结

    通过上述方法,我们成功实现了二维数组的行与列元素的交换。这一技术在处理矩阵变换、数据重组等场景中具有重要意义。

    转载地址:http://iprfk.baihongyu.com/

    你可能感兴趣的文章
    mysql Timestamp时间隔了8小时
    查看>>
    Mysql tinyint(1)与tinyint(4)的区别
    查看>>
    mysql union orderby 无效
    查看>>
    mysql where中如何判断不为空
    查看>>
    mysql workbench6.3.5_MySQL Workbench
    查看>>
    MySQL Workbench安装教程以及菜单汉化
    查看>>
    MySQL Xtrabackup 安装、备份、恢复
    查看>>
    mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
    查看>>
    MySQL _ MySQL常用操作
    查看>>
    MySQL – 导出数据成csv
    查看>>
    MySQL —— 在CentOS9下安装MySQL
    查看>>
    mysql 不区分大小写
    查看>>
    mysql 两列互转
    查看>>
    MySQL 中开启二进制日志(Binlog)
    查看>>
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>
    MySQL 中锁的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>