在visual C++ 6.0上,用C語言編寫,矩陣的轉置
(01)開啟visual C++ 6.0-檔案-新建-檔案-C++ Source File
(02)定義變數和陣列:#include<stdio.h>main(){int i,j,i1,j1,a[101][101],b[101][101]; /*定義變數的資料型別和陣列型別*/
(03)輸入行數:printf("please input the number of rows(<=100)n");scanf("%d",&i1); /*輸入行數*/
(04)輸入列數:printf("please input the number of columns(<=100)n");scanf("%d",&j1); /*輸入列數*/
(05)輸入陣列中的元素:printf("please input the elementn");for(i=0;i<i1;i++) /*控制行數*/for(j=0;j<j1;j++) /*控制列數*/scanf("%d",&a[i][j]); /*輸入陣列中的元素*/
(06)輸入的資料:printf("array a:n"); /*將輸入的資料以二維陣列的形式輸出*/for(i=0;i<i1;i++) /*控制輸出的行數*/{for(j=0;j<j1;j++) /*控制輸出的列數*/printf("t%d",a[i][j]); /*輸出元素*/printf("n"); /*每輸出一行元素進行換行*/}
(07)行列互換:for(i=0;i<i1;i++)for(j=0;j<j1;j++)b[j][i]=a[i][j]; /*將a陣列的i行j列元素賦給b陣列的j行i列實現行列互換*/
(08)將互換後的b陣列輸出:printf("array b:n"); /*將互換後的b陣列輸出*/for(i=0;i<j1;i++) /*b陣列行數最大值為a陣列列數*/{for(j=0;j<i1;j++) /*b陣列列數最大值為a陣列行數*/printf("t%d",b[i][j]); /*輸出b陣列元素*/printf("n"); /*每輸出一行進行換行*/}
(09)完整的原始碼:#include<stdio.h>main(){int i,j,i1,j1,a[101][101],b[101][101]; /*定義變數的資料型別和陣列型別*/printf("please input the number of rows(<=100)n");scanf("%d",&i1); /*輸入行數*/printf("please input the number of columns(<=100)n");scanf("%d",&j1); /*輸入列數*/printf("please input the elementn");for(i=0;i<i1;i++) /*控制行數*/for(j=0;j<j1;j++) /*控制列數*/scanf("%d",&a[i][j]); /*輸入陣列中的元素*/printf("array a:n"); /*將輸入的資料以二維陣列的形式輸出*/for(i=0;i<i1;i++) /*控制輸出的行數*/{for(j=0;j<j1;j++) /*控制輸出的列數*/printf("t%d",a[i][j]); /*輸出元素*/printf("n"); /*每輸出一行元素進行換行*/}for(i=0;i<i1;i++)for(j=0;j<j1;j++)b[j][i]=a[i][j]; /*將a陣列的i行j列元素賦給b陣列的j行i列實現行列互換*/printf("array b:n"); /*將互換後的b陣列輸出*/for(i=0;i<j1;i++) /*b陣列行數最大值為a陣列列數*/{for(j=0;j<i1;j++) /*b陣列列數最大值為a陣列行數*/printf("t%d",b[i][j]); /*輸出b陣列元素*/printf("n"); /*每輸出一行進行換行*/}}