1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
变换之后
16 12 8 4
15 11 7 3
14 10 6 2
13 9 5 1
这个要怎么实现啊,求解,最好能有具体思路
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
二维数组关于对角线对称互换
收起
- 写回答
- 好问题 1 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
找到规律就好写了:
a[0][0] 1 对应a[3][3]
a[0][1] 2 对应a[2][3]
a[0][2] 3 对应a[1][3]
a[0][3] 4 对应a[0][3]
先看行:
仔细观察会发现 一开始都在第一行a[0]行(联系下面列转换后的结果)
之后的转换后变成了 a[3] ... a[0]行
再看列:
本身是a[0]...a[3]列 (联系上面行转换后的结果)
之后都在第四行a[3]列了
总结思路:
1、两层for循环 用于输入二维数组数据
2、再来两层for循环 用于交换位置即可(s[i][j]=s[3-j][3-i])。本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报 编辑记录微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-01-06 13:17回答 3 已采纳 主对角线数(左上角到右下角):1,6,10,15次对角线数(右上角到左下角):4,7,0,12
- 2022-10-12 12:03回答 2 已采纳 主对角线就是行号和列号相等 #include <stdio.h> int main() { int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
- 2021-07-05 00:35回答 1 已采纳 代码如下: int fun(int a[M][M]) { int i=0,j=0; int sum = 0; for (i=0;i<M;i++) {
- 2023-11-24 05:35时义龙的博客 c语言,假设已经有了一个二维数组,对其进行对角线对称变换,如(0,1)与(1,0)变换,并打印。
- 2016-07-01 01:26回答 2 已采纳 循环下,不麻烦, for i = 1 to ubound(arr) arrnew(i) = arr(i,i) next
- 2022-03-22 03:56回答 4 已采纳 #include <stdio.h> int fun(int a[3][3]); int main() { int i,j,s,x[3][3];; for(i=0;i<3;i++
- 2022-04-24 15:24回答 1 已采纳 #include <stdio.h> #define ROW 4 #define COL 4 int test(int z[][COL]) { int found=0; f
- 2024-04-12 07:35大邳草民的博客 在Java中,二维数组是一种可以存储多个元素的数据结构。它由多个一维数组组成,这些一维数组可以看作是行和列的组合,形成了一个矩阵。二维数组的旋转是指将数组中的元素按照一定规则进行旋转。通常有两种常见的旋转...
- 2023-03-11 14:41回答 1 已采纳 基于Monster 组和GPT的调写: #include <stdio.h> int main() { int M = 4, N = 4; // 数组的行数和列数 in
- 2023-04-17 03:22回答 3 已采纳 该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:可以使用一个双重循环来实现将一个二维数组的行列元素互换并存储到另一个二维数组中。具体的实现步骤如下: 定义两个二维数组,一个用于存储
- 2018-11-24 04:30回答 2 已采纳 # 如果问题得到解决,请点我回答左上角的采纳和向上的箭头,并采纳 https://ask.csdn.net/questions/706384 ,谢谢 ``` #include "std
- 2021-05-22 20:38weixin_39662611的博客 } //按副对角线互换 for(i=0;i;i++) for(j=0;j;j++) { b[i][j]=a[3-i][3-j]; } //输出 printf("交换后矩阵:\n"); for(i=0;i;i++) { for(j=0;j;j++) { a[i][j]=b[j][i];//b矩阵的转置就是需要的矩阵了,存回a,再...
- 2021-05-22 05:26学术女流氓的博客 题目:对某个二维数组右上三角的全部元素(不包括对角线上的元素)做如下变换:(1)若该数是偶数,则找到左下三角中和它关于对角线对称的元素用这两个元素的最大公约数替换该数(2)若不是偶数,则不变。对该数组的左下...
- 2017-12-19 09:11川十的博客 void invert(int N,char a[20][20]) { for(int i=0;i;i++) for(int k=0,j=N-1-i;k;k++,j--) { char term; term=a[i][k]; a[i][k]=a[i+j][k+j];
- 2022-10-18 11:32mambaming的博客 【代码】二维数组(3×3)转置。
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司