牛客网初阶练习(11)

目录

1.矩阵相等判定

方法1:

方法2:

2.矩阵交换

3.小乐乐与进制转换


1.矩阵相等判定

方法1:

#include<stdio.h>
int main()
{
    int n = 0;
    int m = 0;
    scanf("%d %d",&n,&m);
    int arr1[10][10] = {0};
    int arr2[10][10] = {0};
    int i = 0;
    int j= 0;
    for( i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            scanf("%d",&arr1[i][j]);
        }
    }
    for( i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            scanf("%d",&arr2[i][j]);
        }
    }
    int flag = 1;
    for( i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            if(arr1[i][j]!=arr2[i][j])
            {
                flag = 0;
                break;
            }
        }
    }
    if(flag)
    {
        printf("Yes\n");
    }
    else
    {
        printf("No\n");
    }
    return 0;
}

方法2:

(这种方法更为简单)

#include<stdio.h>
int main()
{
    int n = 0;
    int m = 0;
    scanf("%d %d",&n,&m);
    int arr1[10][10] = {0};
    int arr2[10][10] = {0};
    int i = 0;
    int j= 0;
    for( i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            scanf("%d",&arr1[i][j]);
        }
    }
    for( i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            scanf("%d",&arr2[i][j]);
        }
    }

    for( i = 0;i<n;i++)
    {
        for(int j = 0;j<m;j++)
        {
            if(arr1[i][j]!=arr2[i][j])
            {
                printf("No\n");
                return 0;
            }
        }
    }   
    printf("Yes\n");
    
    return 0;
}

2.矩阵交换

#include<stdio.h>
int main()
{
    int n = 0;
    int m = 0;
    int k = 0;
    int arr[10][10] = { 0 };
    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            scanf("%d", &arr[i][j]);
        }
    }
    scanf("%d", &k);//此处输入缓冲区里面有一个\n
    char t = 0;
    int x = 0;
    int y = 0;
    //%c前面的空格是用来吸收输入缓冲区里面的\n
    //只有读字符的时候才会对输入缓冲区里面的数据是否为空有严格的要求
    //而在%d的时候没有要求
    
    for (int i = 0; i < k; i++)
    {
        scanf(" %c %d %d", &t, &x, &y);
        if (t == 'r')
        {
            for (int j = 0; j < m; j++)
            {
                int tmp = arr[x-1][j];
                arr[x-1][j] = arr[y-1][j];
                arr[y-1][j] = tmp;
            }
        }
        else if (t == 'c')
        {
            for (int j = 0; j < n; j++)
            {
                int tmp = arr[j][x-1];
                arr[j][x-1] = arr[j][y-1];
                arr[j][y-1] = tmp;
            }
        }
    }
    
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

3.小乐乐与进制转换

#include<stdio.h>
int main()
{
    int n = 0;
    int arr[50]={0};
    int i = 0;
    scanf("%d",&n);
    while(n)
    {
        arr[i] = n%6;
        i++;
        n/=6;
    }
    for(i--;i>=0;i--)
    {
        printf("%d",arr[i]);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_57304511/article/details/122915432
今日推荐