java 基础编程练习1

2023-11-12

题目描述:
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)。

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

示例1
输入:

2 2
1 2
3 4
1
r 1 2

输出:

3 4
1 2

import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        //输入原始二维矩阵
        int n = in.nextInt();
        int m = in.nextInt();
        int[][] rec = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                rec[i][j] = in.nextInt();
            }
        }
		//这里开始输入要求,k是要进行k次操作
        int k = in.nextInt();
        for (int x = 0; x < k; x++) {
            String c = in.next();
            int a = in.nextInt()-1;//记得减1,因为数组下标是从0开始的
            int b = in.nextInt()-1;
			//r是行变换;c是列变换
            switch (c) {
                case "r"://行变换,就是将对应行上元素,依次交换
                    for (int i = 0; i < m; i++) {
                        int temp = rec[a][i];
                        rec[a][i] = rec[b][i];
                        rec[b][i] = temp;
                    }
                    break;
                    
                case "c"://与行交换同理
                    for (int i = 0; i < n; i++) {
                        int temp = rec[i][a];
                        rec[i][a] = rec[i][b];
                        rec[i][b] = temp;
                    }
                    break;
            }
        }
        //最后输出矩阵
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                System.out.print(rec[i][j] + " ");
            }
            System.out.println();
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 基础编程练习1 的相关文章

随机推荐

  • ARM DS5调试记录(1)安装&调试介绍

    一 安装说明 说明 安装文档已经把相应的细节介绍得很清楚了 这里主要是就之前安装遇到的问题和解决办法进行记录 1 安装虚拟网卡时 出现 系统资源不足 无法满足所需的服务 目前没有太好的解决办法 我是通过系统还原解决的 后面 有更好的解决办法
  • Arduino(三)——按钮控制数码管

    本节 我们学习一下内容 1 用按键控制数码管从1 9显示 然后再清零 2 外部中断函数 1 我们先来看下面的图 我们需要根据我们按键是否连通来连接我们的电路 所以我们连接好后就会是这样的 看完了连接图 接下来就要看我们的任务了 也就是让数码
  • 通达信公式破解

    通达信公式破解 通达信股票公式的导入方法 http blog sina com cn s blog 7f809c880102vk1n html 1 你下载到公式文件 XXXXX tne 后 保存或复制一份到桌面 或 我的文档 或你喜欢存放的
  • 控制工程学习4

    一 一阶系统的单位阶跃响应 单位跃阶 a起决定作用 在单位跃阶中时间常数t 等于a分之一的时候x 0 63 时间常数为系统特有 在稳定时间即4倍时间常数则等于0 98 二 非零初始条件下的传递函数 当t 0时即x 0 输入有两项为u s 和
  • 2024秋招海康威视前端笔试大题笔经

    文章目录 杂谈 大题及大致解析 论述题 1 html和htmls的区别 2 什么是深拷贝 什么是浅拷贝 如何实现 编程题 1 大人小孩排队 2 数组内是否存在 nums i nums j t 且 i j k 杂谈 考得不是很难 一开始进去会
  • C++的类模板

    1 类模板基本语法 template
  • 麒麟V10系统安装教程

    1 准备麒麟V10镜像 第一种方法 访问麒麟官网 https www kylinos cn scheme desktop 2 htmlhttps www kylinos cn scheme desktop 2 html点击申请使用 填写个人
  • Python:字典嵌套字典的数据类型,如何取出字典外部以及层级嵌套字典的键值对

    思路整理 1 循环遍历取出外层的 key 和 value 的值 2 判断遍历后的 value 数据类型是否为 字典 dict 3 if true 则再次循环遍历取出 key 和 value 的值 代码实现 coding utf 8 Time
  • 小程序navigateTo与redirectTo,跳转页面报错:fail webview count limit exceed

    前言 小程序中涉及跳转页面报错 fail webview count limit exceed 目录 报错信息 报错原因 官方介绍navigateTo 解决方法 官方介绍redirectTo 报错信息 报错原因 官方介绍navigateTo
  • 一图看懂 openai 模块:ChatGPT的API python库, 资料整理+笔记(大全)

    本文由 大侠 AhcaoZhu 原创 转载请声明 链接 https blog csdn net Ahcao2008 一图看懂 openai 模块 ChatGPT的API python库 资料整理 笔记 大全 摘要 模块图 类关系图 结束 摘
  • WebRTC 开发实践:为什么你需要 SFU 服务器

    转自 https blog 51cto com ticktick 2349113 当你入门 WebRTC 之后 很快就会接触到一个名词 叫做 SFU 你可能很容易就在网上寻找到很多 SFU 的开源实现 并并兴致勃勃地开始编译 部署和测试这些
  • 傻瓜式Hadoop 集群部署

    傻瓜式Hadoop集群部署 资料来自网上并经过本人整理 Hadoop编译篇 一 Hadoop下载 1 在Hadoop官网上下载hadoop 2 7 2的源码包 下载地址 http mirrors noc im apache hadoop c
  • navicat12创建sqlserver用户以及设置用户权限

    1 选中数据库 点用户 新建登录 2 输入登录用户名 设置密码 确认密码 选择默认数据库 设置好后保存 3 上两步就创建好了一个用户 接下来创建用户的权限 打开数据库 点用户 点数据库角色 分配权限页面就可以给具体的数据表分配增删改查权限了
  • (Struts2学习篇) Struts2文件处理之文件下载

    以下是在Struts2中下载文件时 相关DownloadAction的配置信息
  • NFL(没有免费的午餐)

    NFL 没有免费的午餐 周志华 机器学习 1 诠释 NFL全称 No Free Lunch Theorem 意思是 所有的学习算法的期望性能是相同的 NFL的前提是 所有 问题出现的机会相同 或所有的问题同等重要 NFL的寓意是 让我们清楚
  • 网地址和广播地址的计算

    如何计算网络地址和广播地址 如果一个IP地址为132 119 100 200的子网掩码是255 255 255 240 那么他的网络地址和广播地址是多少 首先简单介绍一个10进制和2进制的转换方法 我们可以在纸上分别从后向前从1开始 写一个
  • C语言实现在字符串中替换指定的字符串

    include
  • 【大数据采集技术与应用】【第一章】【大数据采集技术与应用概述】

    文章目录 1 1 大数据概述 1 1 1 大数据时代 1 1 2 大数据的概念 1 1 3 大数据的特征 1 1 4 大数据的应用 1 1 5 大数据关键技术 1 1 6 大数据处理流程 1 2 大数据采集技术概述 1 2 1 数据采集与大
  • Solidity API

    这是Solidity教程系列文章第8篇介绍Solidity API 它们主要表现为内置的特殊的变量及函数 存在于全局命名空间里 Solidity 系列完整的文章列表请查看分类 Solidity 写在前面 Solidity 是以太坊智能合约编
  • java 基础编程练习1

    题目描述 KiKi有一个矩阵 他想知道经过k次行变换或列变换后得到的矩阵 请编程帮他解答 输入描述 第一行包含两个整数n和m 表示一个矩阵包含n行m列 用空格分隔 1 n 10 1 m 10 从2到n 1行 每行输入m个整数 范围 231