当前位置: 首页 > news >正文

【c语言】二维数组的对角线对称交换

c语言,假设已经有了一个二维数组,对其进行对角线对称变换,如(0,1)与(1,0)变换,并打印。

示例

#include <stdio.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;
}int main() {int n = 3; // 假设数组大小为3x3int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 二维数组// 对角线对称变换for (int i = 0; i < n; i++) {for (int j = i + 1; j < n; j++) {swap(&arr[i][j], &arr[j][i]);}}// 打印变换后的数组for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {printf("%d ", arr[i][j]);}printf("\n");}return 0;
}

在这段代码中,我们首先定义了一个3x3的二维数组arr,然后进行对角线对称变换。在变换过程中,我们使用了一个swap函数来交换数组中的元素。最后,我们打印出变换后的数组。

我发现有些同学照着敲一遍可能会敲错,注意第二个for循环中,int j=i+1;,因为我们使用了swap交换函数,如果对整个二维数组遍历一遍,结果是不变的。因为(0,1)位置与(1,0)位置都进行了一次互换,就进行了两次交换,等于没有交换。

http://www.lryc.cn/news/241453.html

相关文章:

  • Sulfo-CY3 NHS荧光染料的制备和表征
  • 数字乡村:科技赋能农村产业升级
  • K8S部署mongodb-sharded-cluster(7.0.2)副本分片
  • Dockerfile-CentOS7.9+Python3.11.2
  • 自定义责任链Filter实现
  • NX二次开发UF_CSYS_create_matrix 函数介绍
  • css引入的三种方式
  • 含羞草研究所研究含羞草的代码
  • 常见立体几何图形的体积
  • vue3 + vue-router + keep-alive缓存页面
  • unigui同页面内重定向跳转,企业微信内部应用开发获取用户code例子
  • 垃圾数据啊
  • GB/T 29498-2013 木门窗检测
  • rocketMQ5.0顺序消息golang接入
  • HuggingFace-利用BERT预训练模型实现中文情感分类(下游任务)
  • PSP - 从头搭建 抗原类别 (GPCR) 的 蛋白质结构预测 项目流程
  • 城市NOA加速落地,景联文科技高质量数据标注助力感知系统升级
  • 控制反转(IoC)是什么?
  • Redisson分布式锁源码解析、集群环境存在的问题
  • 2016年10月4日 Go生态洞察:HTTP追踪介绍
  • 分布式篇---第四篇
  • 从零开始的C++(十九)
  • opencv-使用 Haar 分类器进行面部检测
  • C++纯虚函数和抽象类 制作饮品案例(涉及知识点:继承,多态,实例化继承抽象类的子类,多文件实现项目)
  • 什么是网关和链路追踪,以及怎么使用?
  • git 文件被莫名其妙的或略且无论如何都查不到哪个.gitignore文件忽略的
  • nova组件简介
  • 【Vue】响应式与数据劫持
  • Modbus RTU转Profinet网关连接PLC与变频器通讯在机床上应用案例
  • Autoware 整体架构