0
点赞
收藏
分享

微信扫一扫

矩阵交换

难度一般,但是多组输入一定要记住scanf后面会留有空格,所以要是字符输入时一定要getchar();掉或者%前面加一个空格保持格式一致" %d"否则"%d"就会出现自己预期之外的错误,还不好排查,注重底层原理!!!

#include<stdio.h>

int main()
{
int n=0,m=0;
scanf("%d %d",&n,&m);
int arr[n][m];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d ",&arr[i][j]);
}
}
int k=0;
char flag='c';
int c1,c2;
scanf("%d",&k);
int t = 0;//中间变量;
getchar();
while(k)
{
scanf("%c %d %d ",&flag,&c1,&c2);

    if(flag=='c')   //列变换行m次
    {
        for(int i = 0;i<m;i++)
        {
            t=arr[i][c1-1];
            arr[i][c1-1]=arr[i][c2-1];
            arr[i][c2-1]=t;

        }
    } 
    else if(flag=='r')   //行变换列n次
    {
        for(int i = 0;i<n;i++)
        {
            t=arr[c1-1][i];
            arr[c1-1][i]=arr[c2-1][i];
            arr[c2-1][i]=t;
        }
    }   
    k--;
}
for(int i = 0;i<n;i++)
{
    for(int j = 0 ;j<m;j++)
    {
        printf("%d ",arr[i][j]);
    }
    printf("\n");
}

return 0;

}**

举报

相关推荐

0 条评论