Ⅰ c語言矩陣轉置函數,定義一個二維數組 int a[5][3],保存一個5*3的矩陣a,求他的轉置矩陣b。
/* 程式功能: 矩陣轉置 (transportation) *//*輸入:m×n矩陣A *//*輸出:矩陣B,B=AT */#include void main() { int i, j, m=5, n=5; int B[6][6], A[6][6]; printf("請依序輸入二維陣列A(5x5)的元素內容(可以5個一行,可以空格或回車隔開): \n"); for (i = 1; i <= 5; i++) { for (j = 1; j <= 5; j++) { scanf("%d", &A[i][j]); } } printf("\n\n原始:\n"); for(i = 1; i <= m; i ++) { for(j = 1; j <=n; j++) { printf("%4d",A[i][j]); } printf("\n"); } printf("\n轉置後:\n"); for (i = 1; i <= m; i++) { for (j = 1; j <= n; j++) { B[i][j] = A[j][i]; /*作轉置的動作*/ printf("%4d ", B[i][j]); /*輸出轉置後的結果*/ } printf("\n"); }}
Ⅱ 如何用C語言程序編寫「利用函數將給定的3*3二維數組轉置」
#include<iostream>
usingnamespacestd;
void zhuang (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 (a);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<"";
cout<<endl;
}
return0;
}
運行效果:
(2)二維矩陣的轉置怎麼求c語言擴展閱讀:
return語句有以下形式:
return;//不帶返回值的return語句
return 0;//帶返回值的return語句,或者返回一個變數或一個函數。
return 1//表示函數異常結束
不帶返回值的return語句用於,中斷返回值為void類型的函數的執行,而帶返回值的return則不行。
#include<iostream>
using namespace std;
void f(){
cout<<"begin"<<endl;
return 0;此處有問題,此時return;的作用相當於break;用於中斷循環的作用。所以不該返回某個具體的值。
cout<<"end"<<endl;
}
int main(){
f();
return 0;
}
將return 0;換為return;後,運行成功:
總結:
return;的作用相當於break;用於中斷循環的作用;return 0;則是return的另一種用法,專用於返回值非void的函數返回其值。