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

BC108 矩阵交换

描述

KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。

输入描述

第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)

从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。

接下来一行输入k,表示要执行k次操作(1≤k≤5)。接下来有k行,每行包括一个字符t和两个数a和b,中间用空格格分隔,t代表需要执行的操作,当t为字符'r'时代表进行行变换,当t为字符'c'时代表进行列变换,a和b为需要互换的行或列(1≤a≤b≤n≤10,1≤a≤b≤m≤10)。

提示:当t为别的字符时不需要处理

 输出描述

输出n行m列,为矩阵交换后的结果。每个数后面有一个空格。

 

思路:当输入一行操作时,处理一行。

易错点:读入操作时,因为第一个读入的是字符c%,所以需要消耗%d后的所有后继空白符,然后读一个char,因此,scanf(" %c %d %d",&t,&a,&b)中c%前需要加一个空格或者每次加上getchar(麻烦)。

#include <stdio.h>int main() 
{int n=0;int m=0;scanf("%d %d",&n,&m);int i=0;int j=0;int arr[10][10]={0};for(i=0;i<n;i++){for(j=0;j<m;j++){scanf("%d",&arr[i][j]);}}int k=0;scanf("%d",&k);char t=0;int a=0;int b=0;for(i=0;i<k;i++){//对于每一行                 //只有读入第一个字符是c%时才需要考虑scanf(" %c %d %d",&t,&a,&b);//消耗%d后的所有后继空白符,然后读一个charif(t == 'c')//交换列{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;}}else if(t == 'r')//交换行{for(j=0;j<m;j++){int tmp= arr[a-1][j];arr[a-1][j]=arr[b-1][j];arr[b-1][j] =tmp;}}}//打印for(i=0;i<n;i++){for(j=0;j<m;j++){printf("%d ",arr[i][j]);}printf("\n");}return 0;
}

 

 

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

相关文章:

  • 如何发现系统改进点,优化点,提高点,新系统 边界感不要太强
  • 5G无人露天矿山解决方案
  • Datawhale Django入门组队学习Task01
  • 【第二阶段】kotlin的函数类型作为返回类型
  • C++之ostream与ifstream读写文件操作(一百八十二)
  • Unity - 从PackageManager中安装内置工具
  • wsl安装Linux kali
  • ProtoBuf3语法详解
  • 尚硅谷css3笔记
  • ppt转pdf免费的工具哪个好用?免费PPT转换为PDF的方法分享
  • IDEA常用工具配置
  • hive--给表名和字段加注释
  • AutoSAR系列讲解(深入篇)13.4-Mcal Dio代码分析(上)
  • 基于Mybatis Plus的SQL输出拦截器。完美的输出打印 SQL 及执行时长、statement
  • C++ STL list
  • Django图书商城系统实战开发-实现订单管理
  • POJ 3421 X-factor Chains 埃氏筛法+质因子分解+DFS
  • 【积水成渊】9 个CSS 伪元素
  • 【002】学习笔记之typescript的【任意类型】
  • 题目:2574.左右元素和的差值
  • 成集云 | 用友U8采购请购单同步钉钉 | 解决方案
  • 爬虫的代理IP池写哪里了?
  • CSS变形与动画(三):animation帧动画详解(用法 + 四个例子)
  • Ubuntu发布java版本
  • Java反射机制是什么?
  • legacy-peer-deps的作用
  • 卷积操作后特征图尺寸,感受野,参数量的计算
  • C/C++ 注意点补充
  • Python实时监控键盘的输入并打印出来
  • LaWGPT零基础部署win10+anaconda