C语言编程:求3*3矩阵的转置矩阵

Python022

C语言编程:求3*3矩阵的转置矩阵,第1张

思路:定了两个二维数组分别存储转置前后的矩阵,接着for循环依次转置即可。

//参考代码

#include<stdio.h>

int main()

{

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},b[3][3]

int i,j

for(i=0i<3i++)

for(j=0j<3j++)

b[j][i]=a[i][j]

for(i=0i<3i++)

{

for(j=0j<3j++)

printf("%2d ",b[i][j])

printf("\n")

}

return 0

}

/*

运行结果:

1 4 7

2 5 8

3 6 9

*/

#include<stdio.h>

int main()

{

int a1,b1

int a[3][3]

int i,j

for(i=0i<3i++)

for(j=0j<3j++)

scanf("%d",&a[i][j])

printf("矩阵为\n")

for(i=0i<3i++)

for(j=0j<3j++)

{

printf("%d ",a[i][j])

if(j==2)

printf("\n")

}

printf("\n")

for(i=0i<2i++)

for(j=1j<3j++)

{

a1=a[i][j]

b1=a[j][i]

a[i][j]=b1

a[j][i]=a1

}

for(i=0i<3i++)

for(j=0j<3j++)

{

printf("%d ",a[i][j])

if(j==2)

printf("\n")

}

return 0

}

#include<stdio.h>

int main()

{

void move(int *s)

int a[3][3]int i=0

int *p=&a[0][0]

printf("请输入一个3*3的数组:\n")

for(i=0i<3i++)

{

scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2])

}

move(p)

printf("转置后的结果:\n")

for(i=0i<3i++)

{

printf("%d %d %d\n",a[i][0],a[i][1],a[i][2])

}

return 0

}

void move(int *s)

{

int i,j,t

for(i=0i<3i++)

{

for(j=ij<3j++)

{

t=*(s+3*i+j)

*(s+3*i+j)=*(s+3*j+i)

*(s+3*j+i)=t

}

}

}

扩展资料:

在C语言或C++中,会把用来#include的文件的扩展名叫 .h,称其为头文件。

#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。在现行的c++版本中,应用这个头文件应是#include<stdio.h>

stdio 就是指 “standard input &output"(标准输入输出)所以,源代码中如用到标准输入输出函数时,就要包含这个头文件!

例如c语言中的 printf("%d",i)scanf("%d",&i)等函数。

引用方法

#include <stdio.h>

(注:在TC2.0中,允许不引用此头文件而直接调用其中的函数,但这种做法是不标准的。也不建议这样做。以避免出现在其他IDE中无法编译或执行的问题。)

标准函数

int getchar()//从标准输入设备写入一个字符

int putchar()//向标准输出设备读出一个字符

int scanf(char*format[,argument…])//从标准输入设备读入格式化后的数据

int printf(char*format[,argument…])//向标准输出设备输出格式化字符串

char* gets(char*string)//从标准输入设备读入一个字符串

int puts(char*string)//向标准输出设备输出一个字符串

int sprintf(char*string,char*format[,…])//把格式化的数据写入某个字符串缓冲区。