c语言数组转置函数 c语言数组的转置

c语言数组转置

//try it 试试看

成都创新互联,为您提供网站建设公司成都网站制作公司、网站营销推广、网站开发设计,对服务三维植被网等多个行业拥有丰富的网站建设及推广经验。成都创新互联网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

#include stdio.h

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

{

int i,j,temp;

for(i=0;in;i++)

for (j=0;ji;j++)

{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=0;in;i++)

for(j=0;jn;j++)

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

transpose(a,n);

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

for (i=0;in;i++)

{

for(j=0;jn;j++)

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

}

求C语言程序:编写一个函数,使给定的一个二维数组(3*3)转置。感激不尽

#includestdio.h

int main()

{int i,j,t,a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

printf("原来的数组:\n");

for(i=0;i3;i++)

{

for(j=0;j3;j++)

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

printf("\n");

}

for(i=0;i2;i++)

for(j=i+1;j3;j++)

{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}

printf("转置后的数组:\n");

for(i=0;i3;i++)

{

for(j=0;j3;j++)

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

printf("\n");

}

getch();

return 0;

}

c程序数组的转置?

你的数组转置程序,主要有两个问题,

一 C语言二维数组的参数声明和传参不正确

二 二维数组的转置,只需要以主对角线为轴翻转一次就行了,

因此,transport函数中for_j循环的终止条件应该为ji;

改正后的数组转置C语言程序如下(改动的地方见注释)

#includestdio.h

int main()

{

int a[3][3];

int i,j;

void transport(int a[][3]);//这里把返回值类型int改成void,把a[3][3]改成a[][3]

printf("input:");

for(i=0;i3;i++)

for(j=0;j3;j++)

{

scanf_s("%d",a[i][j]);//这里建议把scanf_s改成scanf

}

transport(a);//这里把a[3][3]改成a

for(i=0;i3;i++)

{//这里加大括号

for(j=0;j3;j++)

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

printf("\n");//这里加一句,换行

}//这里加大括号

return 0;

}

void transport(int a[][3])//这里把返回值类型int改成void,把a[3][3]改成a[][3]

{

int i,j,t;

for(i=0;i3;i++)

for(j=0;ji;j++)//这里把j3;改成ji;

{

t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}


新闻名称:c语言数组转置函数 c语言数组的转置
浏览地址:http://ybzwz.com/article/ddehshs.html