c语言:矩阵交换

题目:

代码和思路:

cpp 复制代码
#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int n = 0;
	int m = 0;
	int arr[10][10] = { 0 };
//	输入行和列
	scanf("%d%d", &n, &m);
	int i = 0;
	int j = 0;
	//读取数组
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			scanf("%d", &arr[i][j]);
		}
	}
	int cnt = 0;//操作次数
	scanf("%d", &cnt);
	int a = 0;
	int b = 0;
	char op = 0;//操作字符
	for (int i = 0; i < cnt; i++)//循环几次操作几次
	{
		scanf(" %c %d %d", &op, &a, &b);
		if (op == 'r')
			//交换a和b行
		{
			for (j = 0; j < m; j++)
			{
				int tmp = arr[a - 1][j];//输入的比数组的下标多1,所以要-1
				arr[a - 1][j] = arr[b - 1][j];
				arr[b - 1][j] = tmp;
			}
		}
		if (op == 'c')
			//交换a和b列
		{
			for (j = 0; j < n; j++)
			{
				int tmp = arr[j][a - 1];
				arr[j][a - 1] = arr[j][b - 1];
				arr[j][b - 1] = tmp;
			}
		}
	}
	//打印交换完的数组
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}
相关推荐
iCxhust8 分钟前
Intel8259汇编串口接收转C语言
c语言·开发语言·汇编
2401_841495642 小时前
【数据结构】红黑树的基本操作
java·数据结构·c++·python·算法·红黑树·二叉搜索树
西猫雷婶2 小时前
random.shuffle()函数随机打乱数据
开发语言·pytorch·python·学习·算法·线性回归·numpy
小李独爱秋2 小时前
机器学习中的聚类理论与K-means算法详解
人工智能·算法·机器学习·支持向量机·kmeans·聚类
来生硬件工程师2 小时前
CH582 GPIO
c语言·开发语言·单片机
【ql君】qlexcel3 小时前
C语言形式参数和实际参数的区别(附带示例)
c语言·函数·形式参数·实际参数
小欣加油4 小时前
leetcode 1863 找出所有子集的异或总和再求和
c++·算法·leetcode·职场和发展·深度优先
C++chaofan4 小时前
项目中为AI添加对话记忆
java·数据结构·人工智能·redis·缓存·个人开发·caffeine
十八岁讨厌编程4 小时前
【算法训练营Day27】动态规划part3
算法·动态规划
迎風吹頭髮5 小时前
UNIX下C语言编程与实践14-UNIX 文件系统格式化:磁盘分区与文件系统创建原理
运维·c语言·unix