要求编写程序,将给定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位相关推荐

  1. 方阵循环右移c语言,C语言第二次实验报告 - osc_zfz30hgc的个人空间 - OSCHINA - 中文开源技术交流社区...

    #一.实验题目,设计思路与实现方法 题目一 11-6 方阵循环右移(20 分) 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.⋯.n−1列变换为第n−m.n−m+1. ...

  2. C. 实验7-2-7 方阵循环右移

    C. 实验7-2-7 方阵循环右移 题目描述本题要求编写程序,将给定n×n方阵中的每个元素循环在该行内右移m个位置.输入输入第一行给出两个正整数m和n(1≤n≤6).接下来一共n行,每行n个整数,表示 ...

  3. 每天一道LeetCode-----有序数组循环右移n位后,寻找最小值,数组中可能包含重复元素

    Find Minimum in Rotated Sorted Array II 原题链接Find Minimum in Rotated Sorted Array II 一个有序数组循环右移n位,找到右 ...

  4. 汇编语言-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 ...

  5. c语言将数组元素循环右移k位,把一个含有N个元素的数组循环右移K位

    普通解法: 可以每次将数组中的元素右移一位,循环K次.每个元素右移N位后都会回到自己的位置上.因此,如果K > N,右移K-N之后的数组序列跟右移K位的结果是一样的.进而可得出一条通用的规律:右 ...

  6. 实验7.2 二维数组 7-6 方阵循环右移

    本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.⋯.n−1列变换为第n−m.n−m+1.⋯.n−1.0.1.⋯.n−m−1列. 输入格式: 输入第一行给出两个正整数m和 ...

  7. c语言将数组元素循环右移3位,如何将一个数组的元素循环左移?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #define SIZE(a) (sizeof(a)/sizeof(a[0])) #define HBIT(a) (( ...

  8. java中循环右移两位_1008 数组元素循环右移问题 (20分)【java题解】

    剑指offer第56题 数组中数字出现的次数(位运算) 剑指offer第56题 数组中数字出现的次数(位运算) 文章目录 问题一:两个只出现一次的数 问题描述: 解题思路: 代码实现: 问题二:一个只 ...

  9. 数组:如何把一个数组循环右移K位

    问题描述: 假设要把数组12345678右移2位,变为78123456. 分析: 方法一: 比较移位前后数组序列的形式,不难看出,其中有两段序列的顺序是不变的,即就是 78 和 123456, 可以把 ...

最新文章

  1. springboot 成员变量_springboot系列之04-提高开发效率必备工具lombok
  2. Memcache知识点梳理
  3. oracle 1g apex030200,APEX_030200
  4. Arduino UNO WIFI开发板,学习必备开发套件
  5. 无锁数据结构二-乱序控制(栅栏)
  6. 转存储过程实现分页1
  7. iphone11边框喇手问题_iPhone12手感如何 直角边框真的会割手吗?
  8. centos中多台主机免密登录_mac ssh 免用户名密码远程登录 linux 方法
  9. 软件设计师考试-计算机网络与网络安全部分的笔记
  10. VS Code配置java环境
  11. 163设置邮件服务器,网易邮箱设置Exchange服务教程
  12. 证监会行业分类代码对照表(2001+2012年)
  13. Java基础(冒泡排序)
  14. 笔记本电脑怎么找计算机硬盘,如何给笔记本电脑硬盘分区
  15. 手机电脑普通浏览器或UC浏览器缓存或下载的Y2hlbmppbmdjb25n0 Y2hlbmppbmdjb25n1 m3u8视频.ts格式视频合并工具成一个mp4
  16. 3.NLP中文分词技术
  17. vscode输入英文时字体之间的间隔突然变大
  18. 每月一书(202202): 《从零开始做自媒体》
  19. linux srr 乱码,批量下载SRR数据
  20. 15 款 阿里后端开发工具,值得拥有?

热门文章

  1. jdbcUrl is required with driverClassName.(多数据源数据库配置文件问题)
  2. NSArray/NSMutableArray基础操作
  3. 宝鲲财经:炒外汇“三三仓位制”资金管理策略
  4. 最好的草 计蒜客 Python
  5. 计算机引导程序 bios,bios设置如何更改引导 bios设置更改引导操作方法
  6. 西门子变频器散热降温问题的解决
  7. 计算机专项内审检查表,计算机系统专项内审检查表
  8. 2023远程控制软件排行榜
  9. 介绍一款数字切换台/字幕机软件,做直播的朋友千万不要错过了
  10. vscode使用python导入自定义模块