从键盘输入一个3行4列的矩阵,将其转置后,变成4行3列的矩阵输出。这个c语言的代码咋写
# include <stdio.h>
int main(void)
{
int a[3][4] = {11,12,13,14,21,22,23,24,31,32,33,34};
int b[4][3];
int i, j;
for(i=0; i<4; i++) //转置数组;
for(j=0; j<3; j++)
b[i][j] = a[j][i];
for(i=3; i>=0; i--) //反向输出转置后的数组;
{
for(j=2; j>=0; j--)
printf("%5d", b[i][j]);
putchar('\n');
}
return 0;
}
扩展资料
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
C语言程序如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
//把三行四列输出为四行三列
void main(void)
{
int s[3][4]={{1,1,1,1},{2,2,2,2},{3,3,3,3}},i,j;
int *p = s[0];//指向0的位置
printf("下列是三行四列的输出\r\n");
for (i = 0; i < 12; i++)
{
printf("%d ",*(p+i));
if((i+1) % 4 == 0)//如果是行输出够了四个就换行
{
printf("\r\n");
}
}
printf("下列是四行三列!!\n");
for (i = 0; i < 4; i++)//四行
{
for (j = 0; j < 3; j++)//三列
{
printf("%d ",*(p+1+j*4));
}
printf("\r\n");
}
system("pause");
}
扩展资料:
转置矩阵思路示例
给定一个矩阵 A, 返回 A 的转置矩阵。
矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
示例 1:
输入:[[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]
示例 2:
输入:[[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]
提示:
1 <= A.length <= 1000
1 <= A[0].length <= 1000
void main( )
{ int a[ 3 ] [ 4 ];
int i,j;
printf( "输入数据\n" );
for( i=0;i<3;i++ )
for( j=0;j<4;j++ )
scanf( "%d",&a[ i ] [ j ] );
for( i=0;i<4;i++ )
{ for( j=0;j<3;j++ )
printf( "%d",a[ j] [ i ]);
printf( "\n" );
}
printf( "\n" );
}