[C语言]转置矩阵:编程计算并输出m×n阶矩阵的转置矩阵。其中,m、n和矩阵元素均由用户从键盘输入。已知m和n的值都不超过10。
输入
输入包含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。相关推荐
- 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。
题目:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n的值都不超过10. void InputArray( ...
- 用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵。
按如下函数原型,用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵. 其中,n由用户从键盘输入.已知n值不超过10. void Transpose(int a[][N], int n); v ...
- 任务描述题目描述:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中m和n的值由用户键盘输入。已知m和n的值都不超过10。
#include<stdio.h>//头文件 int main(void) {/*********Begin*********/int m,n;//定义需要的符号 printf(" ...
- 【C语言】从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。
C语言实战题目:从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号).例如,输入-123,则忽略负号,由123分离出其百位1.十位2.个位3,然后计算3*100+2*10+1 = ...
- C语言练习,利用求阶乘函数Fact(),编程计算并输出从1到n之间所有数的阶乘值。
利用求阶乘函数Fact(),编程计算并输出从1到n之间所有数的阶乘值. **输入格式要求:"%u" 提示信息:"Input n(n>0):" **输出格式 ...
- C语言程序设计——函数 梅森尼数形如2^i-1的素数,称为梅森尼数。编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50。
梅森尼数 形如2^i-1的素数,称为梅森尼数.编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50.其中,2^i表示2的i次方,请不 ...
- 【C语言入门】假设银行定期存款的年利率 r 为 2.25 % ,从键盘输入本金和存款年限,编程计算并输出该笔存款到期后的本金和利息一共有多少。
题目:假设银行定期存款的年利率 r 为 2.25 % ,从键盘输入本金和存款年限,编程计算并输出 该笔存款到期后的本金和利息一共有多少. (例如:当本金为 1000 元,存入 10 后,应得的本金与利 ...
- 练习-输入M行N列的矩阵A和B,编程计算并输出矩阵A与B之和
第1关:输入M行N列的矩阵A和B,编程计算并输出矩阵A与B之和 任务描述 本关任务:输入两个m行n列的矩阵A和B,输出它们的和A+B. 测试说明 输入格式说明 第一行包含两个整数n和m,表示矩阵的行数 ...
- python1-n之间的素数输出_编程计算并输出1~n之间所有素数之和
素数求和问题,也是大一的一次实验.重新回顾,重新体会. 问题描述:从键盘输入任意一个整数n,编程计算并输出1-n之间所有素数之和. 附加题(选做):针对实验的问题想出一种算法,能对任意一个5 首先,必 ...
最新文章
- 从冬奥会开幕式谈起,AI的艺术造诣如何?
- 计算机算法对程序设计的作用,计算机编程中数学算法的优化策略
- ISA SERVER 2004 对多重网络支持功能简述
- 宁波网络推广分享能让新站提升收录的技巧!
- 如何通过HTML标记或JS代码实现跳转返回页面顶部
- java sqlserver 二进制_Java将图片资源以二进制的形式保存到Sqlserver数据库中
- 小知识--DOS命令2
- 计算机网络原理题答案第三章,计算机网络原理第三章习题(含答案).doc
- Python编程工具:Jupyter notebook
- tp3无法加载控制器index_ThinkPHP3.2下,get传参s=xxx时为何提示无法加载控制器xxx?...
- 盗版win10右下角去水印_轻松去掉Win10桌面右下角的测试模式水印
- 如何跳过计算机配置直接开机,WIN7开机怎么跳过欢迎界面_win7怎样跳过电脑开机欢迎界面-win7之家...
- 产品策划一:移动App项目研发流程及版本规划
- 快捷指令|支付宝合集|安卓支付宝shell快捷指令大全
- 湖北武汉电信机房详细介绍
- 电脑如何拦截弹窗广告
- RocketMQ可视化Web管理界面
- FFMPEG监控拉流,向流媒体服务器推流
- Git及其代码托管平台GitHub、码云
- android ota机制,Android OTA简介