矩陣任意兩行或兩列交換在C語言的程序中如何編寫?
#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*.其他任意數(shù)退出系統(tǒng)!\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("交換后的數(shù)組為:\n");
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%5d",A[i][j]);
printf("\n");
}
}
return 0;
}
點擊加載更多評論>>