输入

输入包含m + 1行:
   第一行是整数m和n,两项之间用一个空格隔开(0 < m, n <= 10)。
   第二行到第m + 1行每行均有n个整数,相邻两项之间用一个空格隔开。

输出

输出包含n行,是转置后的矩阵。每行均有m个整数,相邻两项之间用一个空格隔开。

输入示例

3 2
   1 2
   4 5
   7 8

输出示例

1 4 7
   2 5 8

数据范围

输入输出均为int范围的整数

本文介绍两种方法:

第一种:

#include <stdio.h>
#include <stdlib.h>
int main() {int a[10][10];int at[10][10];int m,n,i,j;scanf("%d %d",&m,&n);for(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);}}for(i=0;i<m;i++){for(j=0;j<n;j++){at[j][i]=a[i][j];}}for(i=0;i<n;i++){for(j=0;j<m;j++){printf("%d ",at[i][j]);}printf("\n");}return 0;
}

第二种:使用指针

#include <stdio.h>
#include <stdlib.h>
int main() {int *a[10];int *at[10];int m,n,i,j;scanf("%d %d",&m,&n);for(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",a+(n*i)+j);}}Transpose(a,at,m,n);for(i=0;i<n;i++){for(j=0;j<m;j++){printf("%d ",*(at+(m*i)+j));}printf("\n");}return 0;
}
void Transpose(int *a[], int *at[], int m, int n){int i,j;for(i=0;i<n;i++){for(j=0;j<m;j++){*(at+(m*i)+j)=*(a+(n*j)+i);}}
}

[C语言]转置矩阵:编程计算并输出m×n阶矩阵的转置矩阵。其中,m、n和矩阵元素均由用户从键盘输入。已知m和n的值都不超过10。相关推荐

  1. 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。

    题目:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n的值都不超过10. void InputArray( ...

  2. 用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵。

    按如下函数原型,用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵. 其中,n由用户从键盘输入.已知n值不超过10. void Transpose(int a[][N], int n); v ...

  3. 任务描述题目描述:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中m和n的值由用户键盘输入。已知m和n的值都不超过10。

    #include<stdio.h>//头文件 int main(void) {/*********Begin*********/int m,n;//定义需要的符号 printf(" ...

  4. 【C语言】从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。

    C语言实战题目:从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号).例如,输入-123,则忽略负号,由123分离出其百位1.十位2.个位3,然后计算3*100+2*10+1 = ...

  5. C语言练习,利用求阶乘函数Fact(),编程计算并输出从1到n之间所有数的阶乘值。

    利用求阶乘函数Fact(),编程计算并输出从1到n之间所有数的阶乘值. **输入格式要求:"%u" 提示信息:"Input n(n>0):" **输出格式 ...

  6. C语言程序设计——函数 梅森尼数形如2^i-1的素数,称为梅森尼数。编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50。

    梅森尼数 形如2^i-1的素数,称为梅森尼数.编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50.其中,2^i表示2的i次方,请不 ...

  7. 【C语言入门】假设银行定期存款的年利率 r 为 2.25 % ,从键盘输入本金和存款年限,编程计算并输出该笔存款到期后的本金和利息一共有多少。

    题目:假设银行定期存款的年利率 r 为 2.25 % ,从键盘输入本金和存款年限,编程计算并输出 该笔存款到期后的本金和利息一共有多少. (例如:当本金为 1000 元,存入 10 后,应得的本金与利 ...

  8. 练习-输入M行N列的矩阵A和B,编程计算并输出矩阵A与B之和

    第1关:输入M行N列的矩阵A和B,编程计算并输出矩阵A与B之和 任务描述 本关任务:输入两个m行n列的矩阵A和B,输出它们的和A+B. 测试说明 输入格式说明 第一行包含两个整数n和m,表示矩阵的行数 ...

  9. python1-n之间的素数输出_编程计算并输出1~n之间所有素数之和

    素数求和问题,也是大一的一次实验.重新回顾,重新体会. 问题描述:从键盘输入任意一个整数n,编程计算并输出1-n之间所有素数之和. 附加题(选做):针对实验的问题想出一种算法,能对任意一个5 首先,必 ...

最新文章

  1. 从冬奥会开幕式谈起,AI的艺术造诣如何?
  2. 计算机算法对程序设计的作用,计算机编程中数学算法的优化策略
  3. ISA SERVER 2004 对多重网络支持功能简述
  4. 宁波网络推广分享能让新站提升收录的技巧!
  5. 如何通过HTML标记或JS代码实现跳转返回页面顶部
  6. java sqlserver 二进制_Java将图片资源以二进制的形式保存到Sqlserver数据库中
  7. 小知识--DOS命令2
  8. 计算机网络原理题答案第三章,计算机网络原理第三章习题(含答案).doc
  9. Python编程工具:Jupyter notebook
  10. tp3无法加载控制器index_ThinkPHP3.2下,get传参s=xxx时为何提示无法加载控制器xxx?...
  11. 盗版win10右下角去水印_轻松去掉Win10桌面右下角的测试模式水印
  12. 如何跳过计算机配置直接开机,WIN7开机怎么跳过欢迎界面_win7怎样跳过电脑开机欢迎界面-win7之家...
  13. 产品策划一:移动App项目研发流程及版本规划
  14. 快捷指令|支付宝合集|安卓支付宝shell快捷指令大全
  15. 湖北武汉电信机房详细介绍
  16. 电脑如何拦截弹窗广告
  17. RocketMQ可视化Web管理界面
  18. FFMPEG监控拉流,向流媒体服务器推流
  19. Git及其代码托管平台GitHub、码云
  20. android ota机制,Android OTA简介

热门文章

  1. PHP上传文件超过了最大文件大小限制导致无法上传成功
  2. 原生Ajax请求流程:同步请求、异步请求
  3. 如何找到特殊的电话号码?
  4. 经验分享-大小写敏感相关问题
  5. 腾讯---即时通讯im--在聊天消息打开文件的解决方案
  6. python爬取饿了么奶茶店外卖数据_喜茶、一点点、古茗…大数据揭秘网红奶茶真实外卖销量...
  7. mysql btree索引概述
  8. 论文阅读:《Evidence for a fundamental property of steering》
  9. 【系统分析】软件工程-知识体系概览
  10. 2022 年全国职业院校技能大赛 网络搭建与应用赛项正式赛卷