设一个3*3d矩阵
1:求转置

  int main(){int a[3][3];int len1 = sizeof(a) / sizeof(a[0]);int len2 = sizeof(a[0]) / sizeof(a[0][0]);for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){a[i][j] = i*len2 + j + 1;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);}puts("");}                                                     //表示出3*3矩阵   {{123},{456},{789}}                                                                            puts("*************************");int t;for (int i = 0; i < len1; ++i){for (int j = 0; j < i; ++j){t = a[j][i];a[j][i] = a[i][j];                      //求转置a[i][j] = t;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);    //输出结果}puts("");    }return 0;}

2:求水平镜像

int main(){int a[3][3];int len1 = sizeof(a) / sizeof(a[0]);int len2 = sizeof(a[0]) / sizeof(a[0][0]);for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){a[i][j] = i*len2 + j + 1;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);}puts("");}                                                     //表示出3*3矩阵   {{123},{456},{789}}                                                                            puts("*************************");{int t;for (int i = 0; i < len1; ++i){for (int j = 0; j < len2 / 2; ++j){t = a[i][j];a[i][j] = a[i][len2 - 1 - j];               //求水平镜像a[i][len2 - 1 - j] = t;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);    //输出结果}puts("");    }return 0;}

灵活利用转置和水平镜像还可以得出矩阵的 顺时针90度旋转、逆时针90度旋转、180度旋转、垂直镜像等。
顺时针90度旋转:先转置再水平镜像

 int main()
{int a[3][3];int len1 = sizeof(a) / sizeof(a[0]);int len2 = sizeof(a[0]) / sizeof(a[0][0]);for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){a[i][j] = i*len2 + j + 1;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);}puts("");}puts("*************************");int t;for (int i = 0; i < len1; ++i){for (int j = 0; j < i; ++j){t = a[j][i];a[j][i] = a[i][j];a[i][j] = t;}}for (int i = 0; i < len1; ++i)
{for (int j = 0; j < len2 / 2; ++j){t = a[i][j];a[i][j] = a[i][len2 - 1 - j];a[i][len2 - 1 - j] = t;}
}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);}puts("");}
}

逆时针90度旋转:先水平镜像再转置

int main()
{int a[3][3]; int t;int len1 = sizeof(a) / sizeof(a[0]);int len2 = sizeof(a[0]) / sizeof(a[0][0]);for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){a[i][j] = i*len2 + j + 1;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);}puts("");}puts("*************************");
for (int i = 0; i < len1; ++i){for (int j = 0; j < len2 / 2; ++j){t = a[i][j];a[i][j] = a[i][len2 - 1 - j];a[i][len2 - 1 - j] = t;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < i; ++j){t = a[j][i];a[j][i] = a[i][j];a[i][j] = t;}}for (int i = 0; i < len1; ++i){for (int j = 0; j < len2; ++j){printf("%-3d", a[i][j]);}puts("");}return 0;}

180度旋转:进行两次90度旋转
垂直镜像 :先180度旋转再进行水平镜像

用C语言编写一个3*3矩阵的转置、水平镜像、顺时针90度旋转、逆时针90度旋转、180度旋转、垂直镜像相关推荐

  1. c语言 编写一个求圆面积的函数area,该函数有一个形式参数r,c语言编写一个求圆面积的函数area,有形参,类型为float...

    用c语言编写函数,求圆的周长和面积,用函数.急求. #include#definePI3.1415926doublearea(doubler){returnPI*r*r;}doubleperimete ...

  2. ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例

    题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换. 输入 一个3x3的矩阵 输出 转置后的矩阵 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 ...

  3. python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...

    导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...

  4. 用C语言编写一个Linux下的简单shell程序

    这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...

  5. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置 jdk-15.0.1-免配置路径版 提取码:earu 免 ...

  6. C语言编写一个四位数的和,c语言编写一段程序,输入一个四位数,输出各位数字的和...

    用C语言编写程序,输入一个正整数n(1 #include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x0 ...

  7. c语言用while实现输出加法口诀表,「加法口诀」C语言编写一个加法口诀表 - 金橙教程网...

    加法口诀 C语言编写一个加法口诀表 #include void main(){ int i,j; for(i=1;i<10;i++){ for(j=1;j<=i;j++){ printf( ...

  8. 等腰字母三角形c语言,c语言等腰三角形代码 用C语言编写一个四行*等腰三角形...

    键盘读入3个整数,代表三角形三条边,判断是否是等腰三角形?输入输出示#include int main() { int a,b,c; while(scanf("%d%d%d",&a ...

  9. c语言编写一个简单的答题系统

    利用c语言编写一个简单的答题系统. 思路是先设计好题目和答案,再输入自己的答案,利用输入的答案与正确答案对比,从而得出你回答的对错. (一)捆绑题目和答案 我们可以利用结构体对一个题目捆绑上一个答案. ...

最新文章

  1. 南岸焊接机器人厂_焊接技术的发展历史,世界焊接发展200年回顾,你了解焊接吗?...
  2. Android入门第八篇之GridView(九宫图)
  3. [训练日志] 7月22-31日
  4. 二级域名session共享php本地,PHP二级域名session共享方案
  5. php bootstraptable分页,php+bootstrap+dataTable+jquery分页列表
  6. html常用标签详解4-列表标签
  7. 2-Qt6命令行控制台项目
  8. 常见维修电路板技术汇总
  9. 第 15 章 代理模式
  10. mysql 指针应用_MySQL 游标的作用与使用相关
  11. 每日一题-12.30-三态数据总线
  12. 十二进制加计数器-20151112
  13. 2022秋软工实践 团队展示与选题报告
  14. 苏宁RPC远程服务调用框架RSF
  15. 使用 spark sql extensions 实现 skew join
  16. 记一次计算机课作文,记一次课堂活动作文500字
  17. 局域网内Linux下开启ftp服务的“曲折路”和命令复习
  18. DIY一个简易查询系统
  19. python 人像素描_基于python实现把图片转换成素描
  20. 最小编辑距离 动态规划 python

热门文章

  1. 《精彩绝伦的CSS》——布局(二)居中块状框
  2. hugegraph hubble安装、配置与创建图
  3. android开发第一次心的
  4. 《安检违禁品图像生成与评价网络模型研究》阅读笔记
  5. 查看Visual Studio软件_MSC_VER值(MSVC编译器版本)的方法
  6. Cypress简易入门教程
  7. LeetCode之换酒问题(一千五百一十八)
  8. linux steam输入法,Ubuntu 13.04安装搜狗输入法
  9. python+selenium实现58同城简历自动刷新,永排第一
  10. 注意事项-关闭腾讯管家和360杀毒软件