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;
}
相关推荐
YL200404265 小时前
048路径总和III
数据结构·dfs
z200509306 小时前
每日简单算法题——————跟着卡尔
算法
️是787 小时前
信息奥赛一本通—编程启蒙(3395:练68.3 车牌问题)
数据结构·c++·算法
Liangwei Lin7 小时前
LeetCode 118. 杨辉三角
算法·leetcode·职场和发展
计算机安禾7 小时前
【c++面向对象编程】第24篇:类型转换运算符:自定义隐式转换与explicit
java·c++·算法
鼠鼠我(‘-ωก̀ )好困7 小时前
leetGPU
算法
我星期八休息7 小时前
Linux系统编程—基础IO
linux·运维·服务器·c语言·c++·人工智能·算法
池塘的蜗牛7 小时前
A Low-Complexity Method for FFT-based OFDM Sensing
算法
故事和你918 小时前
洛谷-【图论2-1】树5
开发语言·数据结构·c++·算法·动态规划·图论
咖啡里的茶i8 小时前
视觉显著目标的自适应分割与动态网格生成算法研究
人工智能·算法·目标跟踪