c语言数组转置

c语言数组转置,第1张

//try it 试试看

#include <stdio.h>

void transpose( int a[6][6],int n)

{

int i,j,temp

for(i=0i<ni++)

for (j=0j<ij++)

{temp=a[i][j]a[i][j]=a[j][i]a[j][i]=temp}

}

void main()

{

int i,j,a[6][6],n

printf("please input the 维度御拆<1-6>:")

scanf("%d",&n)

printf("请输入数组元尺拆碰素:\n")

for (i=0i<ni++)

for(j=0j<nj++)

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

transpose(a,n)

printf(" *** 作后的数组为:\n")

for (i=0i<ni++)

{

for(j=0j<nj++)

printf("%d ",a[i][j])printf("陵谈\n")

}

举例如下的矩阵A:

1 2 3

4 5 6

7 8 9

则经过转置后,即将矩阵的第i行变成仿液了现在的第i列,则原来的矩阵A变为如下矩阵B:

1 4 7

2 5 8

3 6 9

代码:

#include

int main()

{

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

int i, j, temp

printf("原始矩阵:\n")

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

{

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

printf("%d ", n[i][j])/*输出原始矩阵*/

printf("\n")

}

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

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

{

if (j>i)

{ /*将主对角线右上方的数组元素与主对角线左下方的数组元素进行单方向交换*/

temp=n[i][j]

n[i][j]=n[j][i]

n[j][i]=temp

}

}

printf("转置矩阵:\n")

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

{

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

printf("%d ", n[i][j])/*输出原始矩阵的转置矩阵*/

printf("\n")

}

return 0

}

扩展资大嫌料:

return 0代表程序正常退出。return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。

return语句用来结束循环,或返回一个函数的值。

1、return 0,说明程序正常退出,返回到主程序继续往下执行。

2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0或return 1对程序执行备仿物的顺序没有影响,只是大家习惯于使用return(0)退出子程序而已。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12459987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存