#include<stdio.h>
int main()
{
int i, j, t, k=0;
int a[3][3], b[9];
printf("输出矩阵:\n");
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
scanf("%d",&a[i][j]);
}
}
printf("\n nn :");
for(i=0;i<3;i++) {
printf("\n");
for(j=0;j<3;j++) {
printf("%5d",a[i][j]);
}
}
for(i=0;i<3;i++) {
for(j=i+1;j<3;j++) {
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
printf("\n nn T:");
for(i=0;i<3;i++) {
printf("\n");
for(j=0;j<3;j++) {
printf("%5d",a[i][j]);
}
}
printf("\n");
for(i=0;i<3;i++){
for(j=0;j<3;j++) {
b[k++]=a[i][j];
}
}
printf("转换成一维数组:\n");
for(k=0;k<9;k++){
printf("%d ",b[k]);
}
return 0;
}
//将互换矩阵中行和列的元素,并将二维数组转换成一维数组。//
#include<stdio.h>
#define N 3
#define M 9
int a[N][N];
int b[M];
void Jz(int a[3][3])
{
int i, j, t;
for(i=0;i<N;i++) {
for(j=i+1;j<N;j++) {
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
}
void Yw(int b[9])
{
int i, j, k=0;
for(i=0;i<N;i++) {
for(j=0;j<N;j++) {
b[k++]=a[i][j];
}
}
}
int main()
{
int i, j, k;
printf("输出矩阵的元素:\n");
for(i=0;i<N;i++) {
for(j=0;j<N;j++) {
scanf("%d",&a[i][j]);
}
}
printf("nn:\n");
for(i=0;i<N;i++) {
for(j=0;j<N;j++) {
printf("%5d",a[i][j]);
}
printf("\n");
}
Jz(a);
printf("nn T:\n");
for(i=0;i<N;i++) {
printf("\n");
for(j=0;j<N;j++) {
printf("%5d",a[i][j]);
}
}
printf("\nn T:\n");
Yw(b);
for(k=0;k<M;k++) {
printf("%2d ",b[k]);
}
return 0;
}