牛客网基础编程练习题_1_26

131 阅读3分钟

「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战

BC104 最高身高 warning 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

描述

KiKi想从n行m列的方阵队列中找到身高最高的人的位置,请你帮助他完成这个任务。

输入描述:

第一行包含两个整数n和m,表示这个方阵队列包含n行m列。从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示方阵中的所有人的身高(保证输入身高都不相同)。(1≤x≤n≤10,1≤y≤m≤10)

输出描述:

一行,输出两个整数,用空格分隔,表示方阵中身高最高的人所在的行号和列号。

示例1

输入:

2 2
175 180
176 185

复制

输出:

2 2

\

#include<stdio.h>
int main()
{
    int n = 0;
    int m = 0;
    int arr[10][10] = {0};
    //输入
    scanf("%d %d",&n,&m);
    //输入数据
    int i = 0;
    int x = 0;//行坐标
    int y = 0;//列坐标
    int max = 0;
    for(i = 0; i < n; i++)
    {
        int j = 0;
        for(j = 0; j < m; j++)
        {
            scanf("%d",&arr[i][j]);
               if(arr[i][j] > max)
               {
                   //注意此处还要给max赋值,不然每次max进行比较都是0
                   max = arr[i][j];
                   x = i;
                   y = j;
               }
        }
    }
    //从示例中可以看出,输出的行和列下标是从1开始的 
    //所以我们打印时,x和y的值要+1
    printf("%d %d",x+1,y+1);
    return 0;
}

BC105 矩阵相等判定

描述

KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。

输入描述:

第一行包含两个整数n和m,表示两个矩阵包含n行m列,用空格分隔。

从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。

从n+2行到2n+1,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第二个矩阵中的元素。

1 < n,m < 10

输出描述:

一行,如果两个矩阵相等输出"Yes"并换行,否则输出"No"并换行。

示例1

输入:

2 2
1 2
3 4
1 2
3 4

复制

输出:

Yes
#include<stdio.h>
int main()
{
    int i = 0;
    int j = 0;
    int n = 0;//行
    int m = 0;//列
    int arr1[10][10] = {0};
    int arr2[10][10] = {0};
    //输入n和m的值
    scanf("%d %d",&n,&m);
    //给第一个数组输入数据
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
        {
            scanf("%d",&arr1[i][j]);
        }
    }
    //给第二个数组输入数据
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
        {
            scanf("%d",&arr2[i][j]);
        }
    }
    //遍历两个二维数据,判断是否相等
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
        {
            if(arr1[i][j] != arr2[i][j])
            {
                break;
                //有不相等,提前终止
            }
        }
    }
    //遍历结束 如果全都相等的,说明行标 列标都是给定的值
    if(i == n && j ==m)
    {
        printf("Yes\n");
    }
    else
        printf("No\n");
    return 0;
}