C语言每日练习题——No.22,打印出二维数组中特定位置的坐标

题目链接:

最高身高_牛客题霸_牛客网 (nowcoder.com)icon-default.png?t=M1L8https://www.nowcoder.com/practice/258fe0c567ac493f9b7bc9d3669d158d?tpId=107&difficulty=&judgeStatus=&tags=&title=104&gioEnter=menu

解题思路:

1. 尽管输入是二维数组的形式,但是它的实现也可以使用一个变量来完成

即:

#include <stdio.h>
int main()
{
	int row = 0;
	int num = 0;
	for (row = 0; row < 2; row++)
	{
		int line = 0;
		for (line = 0; line < 2; line++)
		{
			scanf_s("%d ", &num);//用一个变量来实现二维数组形式的输入
		}
		printf("\n");
	}

	return 0;
}

如果使用二维数组输入的话,在后面的判断时会显得较为复杂

总结:

输入是二维数组的形式也可以不通过二维数组来实现这种形式的输入

2. 当这些数字在进行比较大小时,可以先创建一个变量令其为 0

当输入的数字大于这个变量时,便将它的值赋给这个变量,从而依次达到比较的目的

然后再创建俩个变量用来存放他们的坐标

答案代码:

#include <stdio.h>
int main ()
{
    int data1 = 0,data2 = 0;
    scanf("%d %d\n",&data1,&data2);
    
    int row = 0;
    int num = 0;
    int max = 0;
    int x = 0,y = 0;//存放坐标的变量
    for (row = 0;row < data1;row++)
    {
        int line = 0;
        for (line = 0;line < data2;line++)
        {
          scanf("%d ",&num);
            if (num > max)
            {
                max = num;
                x = row;
                y = line;
            }
        }
        //printf("\n");
    }
    printf("%d %d",x+1,y+1);//注意这里加1的原因,是因为输出的是它们的行号与列号
    return 0;
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值