「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战」
BC104 最高身高
校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地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;
}