求高手解题!c语言程序题! 写一个函数,将一个3x3的整形二维数组转置,即行列互换。

求高手解题!c语言程序题! 写一个函数,将一个3x3的整形二维数组转置,即行列互换。,第1张

呵呵,刚刚写好,思想主要就是,在矩阵的上三角中对行与列的调换!可利用双重循环实现,以下是具体参考代码,实现的功能已经抽象成为函数了,你看一下吧://--------------code-------------#include<iostream>

void MatrixTrun(int a[3][3])

{

int i,j,temp;

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

{

for(j=0;j<i;j++)

{

temp=a[j][i];

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

a[i][j]=temp;

}

}

}

int main()

{

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

int i,j,time=0;

printf("矩阵为:");

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

{

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

{

if(0==time%3)

printf("\n");

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

time++;

}

}

time=0;

MatrixTrun(A);

printf("\n转置后矩阵为:\n");

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

{

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

{

if(0==time%3)

printf("\n");

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

time++;

}

}

return 0;

}//----------------end----------------------附上运行演示截图:

#include <stdioh> 

int fun(int array[3][3]) 

int i,j,temp;

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

{

for(j=i;j<3;j++)

{

temp=array[i][j];

array[i][j]=array[j][i];

array[j][i]=temp;

}

}

return 0;

int main() 

int i,j; 

int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; 

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

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

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

printf("\n"); 

fun(array); 

printf("Converted array:\n"); 

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

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

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

printf("\n"); 

}

return 0;

}

#include<iostream>

usingnamespacestd;

void zhuang zhi(int a[3][3])

{int m,n,i;

for(m=0;m<2;m++)

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

{if(m!=1||i!=0)

{n=a[i][m];

a[i][m]=a[m][i];

a[m][i]=n;

int main()

inta[3][3];

inti,j;

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

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

cin>>a[i][j];

zhuang zhi(a);

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

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

cout<<a[i][j]<<"";

cout<<endl;

return0;

运行效果:

扩展资料:

return语句有以下形式:

return;//不带返回值的return语句

return 0;//带返回值的return语句,或者返回一个变量或一个函数。

return 1//表示函数异常结束

不带返回值的return语句用于,中断返回值为void类型的函数的执行,而带返回值的return则不行。

#include&lt;iostream&gt;

using namespace std;

void f(){

cout&lt;&lt;"begin"&lt;&lt;endl;

return 0;此处有问题,此时return;的作用相当于break;用于中断循环的作用。所以不该返回某个具体的值。

cout&lt;&lt;"end"&lt;&lt;endl;

}

int main(){

f();

return 0;

}

将return 0;换为return;后,运行成功:

总结:

return;的作用相当于break;用于中断循环的作用;return 0;则是return的另一种用法,专用于返回值非void的函数返回其值。

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

原文地址:https://54852.com/langs/12153523.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存