#include <stdio.h>
int FindMaxbyCol(int *q,int row,int col,int *maxRow,int *maxCcol);
int main(void)
{
int m,n;
scanf("%d%d",&m,&n);
int a[m][n];
int max,maxr,maxc;
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
max=FindMaxbyCol(a[0],m,n,&maxr,&maxc);
printf("%d %d %d\n",max,maxr,maxc);
return 0;
}
/* 请在这里填写答案 */
#include<math.h>
int FindMaxbyCol(int *q,int row,int col,int *maxRow,int *maxCcol)
{
int i,j,max;
max=*q;
*maxRow=0;
*maxCcol=0;
for(j=1;j<col*row;j++)
{
if(max<*(q+j))
{
max=*(q+j);
i=j;
}
}
*maxRow=abs(i/col);
*maxCcol=abs(i%col);
return max;
}
![](https://profile-avatar.csdnimg.cn/fa4171b0ebcb4708ae4bbd3b509bfe2b_2302_79344985.jpg!4)
PTA 查找二维数组中的最大值及其行列下标 有一个测试点错误
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注
【以下回答由 GPT 生成】
这个代码存在两个问题:
-
在函数
FindMaxbyCol
中,没有对变量i
进行初始化。这会导致无法正确计算最大值的行和列下标。为了解决这个问题,我们可以在函数最开始给i
一个初始值,例如i = 0
。 -
在函数
FindMaxbyCol
中,计算最大值的行和列下标的公式有误。当前使用的公式*maxRow = abs(i/col); *maxCol = abs(i%col);
会导致最大值的列下标始终为正数。然而,这是一个错误的做法,因为行和列下标应该从0开始。为了解决这个问题,我们可以去掉abs()
函数,直接将下标赋值给*maxRow
和*maxCol
。
下面是修改后的代码:
#include <stdio.h> // 函数原型声明 int FindMaxbyCol(int *q, int row, int col, int *maxRow, int *maxCol); int main(void) { int m, n; scanf("%d%d", &m, &n); // 定义二维数组 int a[m][n]; int max, maxRow, maxCol; int i, j; // 输入数组元素 for (i = 0; i < m; i++) { for (j = 0; j < n; j++) scanf("%d", &a[i][j]); } // 调用函数查找最大值及其行列下标 max = FindMaxbyCol(a[0], m, n, &maxRow, &maxCol); // 输出结果 printf("%d %d %d\n", max, maxRow, maxCol); return 0; } // 函数定义:查找二维数组中的最大值及其行列下标 int FindMaxbyCol(int *q, int row, int col, int *maxRow, int *maxCol) { int i = 0, j, max; max = *q; *maxRow = 0; *maxCol = 0; for (j = 1; j < col * row; j++) { if (max < *(q + j)) { max = *(q + j); i = j; } } *maxRow = i / col; *maxCol = i % col; return max; }
【相关推荐】
- 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7586829
- 这篇博客也不错, 你可以看下【PTA】交换最小值和最大值
- 除此之外, 这篇博客: PTA 在一个数组中实现两个堆栈中的 裁判测试程序样例: 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报-
悬赏问题
- ¥15 如何在vue3中使用div标签时用background-image: url("'templates/demo/src/assets/医院名称.jpg'")页面不显示背景图片?
- ¥15 运动会成绩管理系统的设计与实现
- ¥15 matlab支持向量机使用错误
- ¥99 利用C/C++语言,使用TCP/IP协议,编一个简易聊天程序
- ¥15 如何使用python 实现对串口/dev/ttyUSB0进行上锁,使得该串口只能在一个python脚本中使用,其他脚本不能操作这个串口
- ¥15 晶体塑性有限元——Damask求解
- ¥30 设计一个图形用户界面来控制你机械臂的运动
- ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
- ¥15 前端返回pdf时不显示内容
- ¥50 如何在不能联网影子模式下的电脑解决usb锁