位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

矩阵任意两行或两列交换在C语言的程序中如何编写?

提问人:杨紫红发布时间:2020-11-17

#include "stdio.h"


int main()

{

int i,j,m,n,t;

int A[4][5]={{1,2,3,4,5},{6,7,8,9,10,},{11,12,13,14,15},{16,17,18,19,20}};

int B[4][5]={0};


printf("交换前的矩阵为:\n");

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

{

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

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

printf("\n");

}

while(1)

{

printf("请选择行交换还是列交换\n*.按 1 列交换\n*.按 2 行交换\n*.其他任意数退出系统!\n");

scanf("%d",&t);


if(t==1)

{

printf("请输入要交换的两列:\n");

scanf("%d",&m);

scanf("%d",&n);

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

{

B[i][m-1]=A[i][m-1];

A[i][m-1]=A[i][n-1];

A[i][n-1]=B[i][m-1];

}

}

else if(t==2)

{

printf("请输入要交换的两行:");

scanf("%d",&m);

scanf("%d",&n);

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

{

B[m-1][j]=A[m-1][j];

A[m-1][j]=A[n-1][j];

A[n-1][j]=B[m-1][j];

}

}

else 

break;

printf("交换后的数组为:\n");

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

{

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

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

printf("\n");

}

}

return 0;

}

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部