本文目录一览:
c语言二维数组转置 那为大哥大姐帮忙下啦
#define N 10
main()
{
int a[N][N], n, i, j, t;
scanf("%d", n);
// 输入二维数组
for(i=0; in; i++)
for(j=0; jn; j++)
scanf("%d", a[i][j]);
// 以下是转置
for(i=0; in; i++)
for(j=i+1; jn; j++)
{
t = a[i][j]; a[i][j]=a[j][i]; a[j][i] = t;
}
}
C语言程序设计二维数组转置
首先字义二维数组A[M][N],
函数(Revolve)如下:
int
M=100,N=100;
main()
{
int
i,j,Temp;
/*定义并初始化二维数组*/
int
A[M][N]={{.......},{......},....{......}};
/*转置*/
for(i=0;iM;++i)
for(j=0;jN,++j)
if(i!=j)
{
Temp=Array[i][j];
Array[i][j]=Array[j][i];
Array[j][i]=Temp;
}
}
编一C个程序:将一个任意二维数组转置
举例如下的矩阵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=0; i3; i++)
{
for(j=0; j3; j++)
printf("%d ", n[i][j]); /*输出原始矩阵*/
printf("\n");
}
for(i=0; i3; i++)
for(j=0; j3; j++)
{
if (ji)
{ /*将主对角线右上方的数组元素与主对角线左下方的数组元素进行单方向交换*/
temp=n[i][j];
n[i][j]=n[j][i];
n[j][i]=temp;
}
}
printf("转置矩阵:\n");
for(i=0; i3; i++)
{
for(j=0; j3; j++)
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)退出子程序而已。
c语言二维数列的转置
for(j=0; ji;j++)换成for(j=0; ij;j++)后由于开始j=0不满足ij,条件一开始就不成立,循环结束。结果就不一样。