方阵循环右移

题目

练习7-8 方阵循环右移 (20 分)
本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。

输入格式:
输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。

输出格式:
按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。

输入样例:
2 3
1 2 3
4 5 6
7 8 9
输出样例:
2 3 1
5 6 4
8 9 7

分析

本体循环右移,类似一个环,右移长度超过环的长度,将从环尾移到环头。右移长度超过环的长度,列标从j变成p=(j+m)%n。右移长度小于等于环的长度,列标j变成j+m。注意等于的时候也是j+m。

一开始考虑直接对这个数组进行处理,逐列判断,两两交换初始的数据和右移后的数据,但是后来发现两两交换时,可能不需要进行到最后一列,就已经全部右移完毕,此时如果再交换,会导致将正确的位置打乱。

所以增加了一个数组,用来表示交换后的数组b。将原数组a[i][j]下标中的元素放到b数组里合适的位置。

代码

#include<stdio.h>int main(){int m,n,i,j,a[9][9],k,p,b[9][9];//a存初始数组,b是右移后的数组scanf("%d %d",&m,&n);if(m>n) m=m%n;//移动的距离m如果大于数组列数n,需要对m处理for(i=0;i<9;++i){//数组初始化for(j=0;j<9;++j){a[i][j]=0;b[i][j]=0;}}for(i=1;i<=n;++i){for(j=1;j<=n;++j){scanf("%d",&a[i][j]);}}for(i=1;i<=n;++i){for(j=1;j<=n;++j){if(j+m>n) {//如果移动的距离超过了数组的大小,进行取余p=(j+m)%n;}else p=j+m;//移动的距离小于等于数组的大小b[i][p]=a[i][j];}}for(i=1;i<=n;++i){for(j=1;j<=n;++j){printf("%d ",b[i][j]);}printf("\n");}
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

奥鹏17计算机应用基础离线,奥鹏《计算机应用基础》离线

期末作业考核《计算机应用基础》满分 100分一、判断对错(每小题1分&#xff0c;共10分)(√)1&#xff0e;冯.诺依曼提出的计算机体系结构奠定了现代计算机的结构理论基础。()2&#xff0e;DOS操作系统是一个单用户多任务操作系统。(√)3&#xff0e;没有装配软件系统的计算机不…

计算机专业对口升学模拟试题,2010对口升学模拟试题计算机专理论综合

对口升学模拟试题计算机专理论综合专业 计 算 机 学号 姓名 班级________________ 密 封 线2010年隆回九中计算机专业对口升学模拟试题计算机专业综合试题分第Ⅰ卷(选择题)和第Ⅱ卷(非选择题)两部分。满分390分&#xff0c;考试时间150分钟。第Ⅰ卷(选择题 共130分)注意事项&am…

c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符

1.指针 用于存储变量的地址 指针是一个值为内存地址的变量。 2.&运算符(地址运算符) &后跟一个变量名&#xff0c;给出变量的地址 &a&#xff0c;表示变量a的地址3.*运算符(间接运算符/解引用运算符) *后跟一个指针名或地址&#xff0c;给出存储在指针指向地…

西电计算机学院导师苗启广,Xidian Media Lab

西电媒体实验室首位博士生简萌顺利通过博士学位论文答辩2015年11月27日上午&#xff0c;西电媒体实验室博士学位论文答辩会在北校区科技楼A301B会议室举行&#xff0c;郑喆坤教授指导的首位博士生简萌顺利通过博士学位论文答辩。本次答辩委员会主席由西北工业大学自动化学院副院…

C语言程序设计基础练习题

PTA上C语言程序设计练习题&#xff0c;包含 换硬币、水仙花数、最大公约数最小公倍数、高空坠球、猴子吃桃、兔子繁衍、出租车计价、三角形判断、简单计算器、平面向量加法。 这些题需要一些细节或思维。 1.换硬币&#xff1a; 习题4-5 换硬币 (20 分) 将一笔零钱换成5分、2…

使用zigbee的协议栈进行协调器路由器终端初始化

实验目的&#xff1a; 使用协议栈,外加自己写的数码管的代码模块 配置协调器路由器终端&#xff0c;各自对应数码管数字C,R,E。 本身不是很细致&#xff0c;只是把一些重要步骤截了一下&#xff0c;IAR工程什么的默认大家都会了。 zigbee协议栈的下载 下载完找以下文件夹 找…

工程用计算机是什么样子的,【2人回答】学软件工程的应该买什么样的处理器电脑?-3D溜溜网...

回答&#xff1a;1、荣耀MagicBook Pro 2020&#xff1a;&#xff0c;荣耀MagicBook Pro 2020还搭载了MX350独显&#xff0c;MX350基于同GTX 1050一样的GP107核心&#xff0c;让笔记本具备了一定的游戏能力&#xff0c;学习、办公之余的游戏场景也可以从容应对&#xff0c;编程…

zigbee无线通信数码管实验、usbDongle抓包、发字符串

文章目录无线通信数码管实验无线通信抓包usbDongle无线通信发字符串&#xff1a;无线通信数码管实验 给一个模块下载发送程序&#xff0c;模块数码管变为1&#xff0c;说明该模块已成为发送模块。 给一个模块下载接收程序&#xff0c;模块数码管变为2&#xff0c;说明该模块已…

计算机安全加固自动检查,Windows主机安全加固检查列表.doc

第 PAGE 13 页 共 NUMPAGES 13 页目 录TOC \o "1-3" \h \z \u HYPERLINK \l "_To 1账户管理 PAGEREF _To\h 3HYPERLINK \l "_To 1.1用户管理 PAGEREF _To\h 3HYPERLINK \l "_To 1.2弱口令修改 PAGEREF _To\h 3HYPERLINK \l "_To 1.3密码策略 PAG…

zigbee协议栈的系统相关函数的使用 仿照协议栈写事件

文章目录1.osal_set_event函数的使用2.osal_start_timerEx函数&#xff0c;数码管变成c&#xff0c;两秒钟以后&#xff0c;灯点亮。3.我们能不能自己添加一个事件而不用GENERICAPP_SEND_MSG_EVT事件。主要就是通过这个实验知道了&#xff1a;怎么在初始化时候干一些事情那些函…

老年人自学计算机,老年人怎样学电脑?请问从网上能找到学习资吗?

首先学一些基础的知识&#xff0c;这样入门之后其他的就好说了&#xff01;推荐一些基础性的知识&#xff1a;计算机基础可以分为硬件和软件硬件&#xff1a;主板、CPU、硬盘、内存、显卡、机箱电源、鼠标键盘、光驱、音响等软件&#xff1a;WINDOWS系统、OFFICE等一般基本工具…

zigbee上位机通过vs2019的mfc实现

文章目录一、操作系统和输入输出设备的联系二、应用程序和操作系统的联系三、zigbee上位机具体实现结果&#xff1a;四、实现上位机的具体流程&#xff1a;五、通过windows API实现串口通信的原理&#xff1a;一、操作系统和输入输出设备的联系 操作系统能操纵输出设备执行特定…

网上读书关于软件测试,【读书笔记】之软件测试

1.引论1.1 什么是软件测试软件测试主要是对制作的软件产品进行检查和测试&#xff0c;及时地发现程序中的故障和逻辑错误&#xff0c;以保障软件产品的可靠性。软件测试是保证软件质量的关键步骤&#xff0c;也是提高软件可靠性的重要手段&#xff0c;因此它是软件工程的的重要…

matlab guide 自定义右键菜单

在一个gui图形显示界面上点击右键&#xff0c;出现一些选项可以进行操作。 实验效果&#xff1a; 找到菜单编辑器的上下文菜单&#xff1a; 我们看几个回调函数即可&#xff1a; function clear_Callback(hObject, eventdata, handles) cla; function gridoff_Callback(hObj…

计算机活动感悟怎么写,计算机教学心得体会范文五篇.doc

计算机教学心得体会范文五篇计算机教学心得体会范文五篇【一】一、开卷有益&#xff0c;爱不释手然而&#xff0c;在我参加了第一次培训&#xff0c;我就发现自己错了&#xff0c;此次的电脑培训与以前参加过的培训大相径庭。以前的培训都是应付考试的&#xff0c;实用性不强&a…

Java一些基础知识的整合

文章目录1. 数据类型、变量与常量1.1基本数据类型&#xff08;primitive types&#xff09;1.1.1 boolean1.1.2字符型1.1.2.1 转 义 字 符 含 义1.1.3整数类型1.1.4 浮点类型1.2引用类型( reference types )1.3 基本数据类型和引用类型区别1.4 标识符&#xff08; Identifier&a…

空军部队计算机专业有没有用武之地,报名当兵可以选择陆军、海军、空军、武警、火箭军,艰苦地区部队...

如果是本科生&#xff0c;在部队表现优异&#xff0c;年龄不超26周岁是可以被推荐去参加大学生士兵提干考试。考上之后需要到军校培训6个月左右&#xff0c;毕业后下部队就是中尉军衔。二、报名当兵时有陆军、海军、空军、武警、火箭军&#xff0c;艰苦地区部队&#xff0c;选择…

查看本地计算机ip命令,查看你本机的IP信息的命令ipconfig详解【图】

原标题&#xff1a;"查看你本机的IP信息的命令ipconfig详解【图】"关于路由器的知识分享。 - 素材来源网络 编辑:kaka。对于ipconfig命令大家应该不陌生&#xff0c;它主要用于显示本地计算机网络适配器的ip地址、子网掩码以及默认网关等信息。1、IPconfig不带参数不…

什么是传感器? 传感器由哪几部分组成? 传感器分类?

文章目录1.什么是传感器&#xff1f;2.传感器由哪几部分组成&#xff1f;3.传感器分类&#xff1f;1.什么是传感器&#xff1f; 传感器&#xff08;英文名称&#xff1a;transducer/sensor&#xff09;是一种检测装置&#xff0c;能感受到被测量的信息&#xff0c;并能将感受到…

计算机win7关机重启,电脑win7关机后自动重启如何解决_win7一关机就立马自动重启修复方法-win7之家...

我们在使用完win7系统电脑之后&#xff0c;都会顺手对其进行关机操作&#xff0c;以此防止电脑中的硬件过度消耗&#xff0c;可是近日有些用户在将win7电脑关机之后却又出现了重启的情况&#xff0c;最终不得不以切断电源的方式来解决&#xff0c;那么电脑win7关机后自动重启如…