C语言 实现n*n的方阵,循环右移m位
要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置。输入第一行给出两个正整数m,n。接下来一共n行,每行n个整数,表示一个n阶的方阵。
输入样例:
2 3
1 2 3
4 5 6
7 8 9
输出样例:
2 3 1
5 6 4
8 9 7
算法思想:n*n数组进行处理的时候,先对每一行进行移动,首先先右移动一位,即最后一个数会被覆盖,因此先记录下最后一个数。这样循环m次就可以了,代码如下
#include <stdio.h>
int main()
{int i,j,n,k,temp,m;printf("请输入移动位数m=");scanf("%d",&m);printf("请输入n=");scanf("%d",&n); printf("请输入n*n的矩阵n=\n");int a[n][n];for(int i =0;i<n;i++){for(int j =0;j<n;j++){scanf("%d",&a[i][j]);}}for(int k=1;k<m+1;k++){for(int i =0;i<n;i++){temp=a[i][n-1]; for(int j =n-1;j>0;j--){a[i][j]=a[i][j-1]; }a[i][j]=temp;}}printf("移动后的的矩阵为\n");for(int i =0;i<n;i++){for(int j =0;j<n;j++){printf("%d ",a[i][j]);}printf("\n");} return 0;
}
运行结果如下:
总结:程序是进行交换,改变的原来的二维数组,如果只输出循环结果,不改变原数组,在for循环加入printf输出就可以了。如有效率更高的解法,欢迎交流~~~如需其他程序的讲解,请在下方留言即可!!!
C语言 实现n*n的方阵,循环右移m位相关推荐
- 方阵循环右移c语言,C语言第二次实验报告 - osc_zfz30hgc的个人空间 - OSCHINA - 中文开源技术交流社区...
#一.实验题目,设计思路与实现方法 题目一 11-6 方阵循环右移(20 分) 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.⋯.n−1列变换为第n−m.n−m+1. ...
- C. 实验7-2-7 方阵循环右移
C. 实验7-2-7 方阵循环右移 题目描述本题要求编写程序,将给定n×n方阵中的每个元素循环在该行内右移m个位置.输入输入第一行给出两个正整数m和n(1≤n≤6).接下来一共n行,每行n个整数,表示 ...
- 每天一道LeetCode-----有序数组循环右移n位后,寻找最小值,数组中可能包含重复元素
Find Minimum in Rotated Sorted Array II 原题链接Find Minimum in Rotated Sorted Array II 一个有序数组循环右移n位,找到右 ...
- 汇编语言-013(DAS 、DAA与DAS、QWORD类型用SBB借位减法、编写指令将AX符号扩展到EAX,不能使用CWD、用SHR和条件判断指令将AL循环右移一位、SHLD、压缩十进制转换)
1:DAS : SUB或SBB在AL中生成二进制结果,DAS(减法后的十进制调整)转压缩十进制格式 .386 .model flat,stdcall.stack 4096 ExitProcess PR ...
- c语言将数组元素循环右移k位,把一个含有N个元素的数组循环右移K位
普通解法: 可以每次将数组中的元素右移一位,循环K次.每个元素右移N位后都会回到自己的位置上.因此,如果K > N,右移K-N之后的数组序列跟右移K位的结果是一样的.进而可得出一条通用的规律:右 ...
- 实验7.2 二维数组 7-6 方阵循环右移
本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.⋯.n−1列变换为第n−m.n−m+1.⋯.n−1.0.1.⋯.n−m−1列. 输入格式: 输入第一行给出两个正整数m和 ...
- c语言将数组元素循环右移3位,如何将一个数组的元素循环左移?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #define SIZE(a) (sizeof(a)/sizeof(a[0])) #define HBIT(a) (( ...
- java中循环右移两位_1008 数组元素循环右移问题 (20分)【java题解】
剑指offer第56题 数组中数字出现的次数(位运算) 剑指offer第56题 数组中数字出现的次数(位运算) 文章目录 问题一:两个只出现一次的数 问题描述: 解题思路: 代码实现: 问题二:一个只 ...
- 数组:如何把一个数组循环右移K位
问题描述: 假设要把数组12345678右移2位,变为78123456. 分析: 方法一: 比较移位前后数组序列的形式,不难看出,其中有两段序列的顺序是不变的,即就是 78 和 123456, 可以把 ...
最新文章
- springboot 成员变量_springboot系列之04-提高开发效率必备工具lombok
- Memcache知识点梳理
- oracle 1g apex030200,APEX_030200
- Arduino UNO WIFI开发板,学习必备开发套件
- 无锁数据结构二-乱序控制(栅栏)
- 转存储过程实现分页1
- iphone11边框喇手问题_iPhone12手感如何 直角边框真的会割手吗?
- centos中多台主机免密登录_mac ssh 免用户名密码远程登录 linux 方法
- 软件设计师考试-计算机网络与网络安全部分的笔记
- VS Code配置java环境
- 163设置邮件服务器,网易邮箱设置Exchange服务教程
- 证监会行业分类代码对照表(2001+2012年)
- Java基础(冒泡排序)
- 笔记本电脑怎么找计算机硬盘,如何给笔记本电脑硬盘分区
- 手机电脑普通浏览器或UC浏览器缓存或下载的Y2hlbmppbmdjb25n0 Y2hlbmppbmdjb25n1 m3u8视频.ts格式视频合并工具成一个mp4
- 3.NLP中文分词技术
- vscode输入英文时字体之间的间隔突然变大
- 每月一书(202202): 《从零开始做自媒体》
- linux srr 乱码,批量下载SRR数据
- 15 款 阿里后端开发工具,值得拥有?
热门文章
- jdbcUrl is required with driverClassName.(多数据源数据库配置文件问题)
- NSArray/NSMutableArray基础操作
- 宝鲲财经:炒外汇“三三仓位制”资金管理策略
- 最好的草 计蒜客 Python
- 计算机引导程序 bios,bios设置如何更改引导 bios设置更改引导操作方法
- 西门子变频器散热降温问题的解决
- 计算机专项内审检查表,计算机系统专项内审检查表
- 2023远程控制软件排行榜
- 介绍一款数字切换台/字幕机软件,做直播的朋友千万不要错过了
- vscode使用python导入自定义模块