一、题目

http://acm.wust.edu.cn/problem.php?id=1183&soj=0

二、分析

  1. 从描述来看,就是找出一个二维数组中绝对值最大的数;
  2. 带符号的32位整数,刚好是int型的表示范围;
  3. 0<n,m<100,说明二维数组大小为99*99;
  4. 多组输入;
  5. 边输入边判断大小,缩短时间;
  6. 用x,y记录绝对值最大的下标(数组从[0][0]开始);
  7. 输出时,x,y要加1。

三、代码

1、第一次提交

结果:Runtime Error。

原因:数组越界。

解决方法:数组a应该定义为100*100的。

疑问:题目是0<n,m<100,我觉得应该是99*99,搞不懂为什么越界了。

2、第二次提交

结果:Accepted(正确)。

疑问:题目明确最小数为-2147483648,而int型的范围是-2147483648~2147483647,但是abs返回的是int型数据,求绝对值时超过了范围,不知道为什么提交是对的。

解决方法:稳妥起见将abs换成fabs,fabs返回的是double型的。

运行截图:

3、第三次提交

#include<stdio.h>
#include<math.h>
int main() {
int m, n, a[100][100], x, y, i, j;
while (scanf("%d%d", &m, &n) != EOF) {
x = 0, y = 0; // 初始化为第一个数绝对值最大
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]); // 输入m*n个数
if (fabs(a[x][y]) < fabs(a[i][j])) { // 如果当前数绝对值比之前的最大值大
x = i; // 记录下标
y = j;
}
}
}
printf("%d %d %d\n", x + 1, y + 1, a[x][y]); // 输出x,y要加1
}
return 0;
}

结果:Accepted(正确)

运行截图:

1183: 零起点学算法90——海选女主角(C语言)的更多相关文章

  1. 1164: 零起点学算法71——C语言合法标识符(存在问题)

    1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 10 ...

  2. 1163: 零起点学算法70——Yes,I can!

    1163: 零起点学算法70--Yes,I can! Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: ...

  3. 1147: 零起点学算法54——Fibonacc

    1147: 零起点学算法54--Fibonacc Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 20 ...

  4. 1145: 零起点学算法52——数组中删数II

    1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 293 ...

  5. 1137: 零起点学算法44——多组测试数据输出II

    1137: 零起点学算法44--多组测试数据输出II Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: ...

  6. 1136: 零起点学算法43——多组测试数据输出I

    1136: 零起点学算法43--多组测试数据输出I Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lldSubmitted: ...

  7. 1135: 零起点学算法42——多组测试数据(求和)IV

    1135: 零起点学算法42--多组测试数据(求和)IV Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted ...

  8. 1134: 零起点学算法41——多组测试数据(a+b)III

    1134: 零起点学算法41--多组测试数据(a+b)III Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitt ...

  9. 1133: 零起点学算法40——多组测试数据(a+b)II

    1133: 零起点学算法40--多组测试数据(a+b)II Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitte ...

随机推荐

  1. ubuntu之路——day8.5 学习率衰减learning rate decay

    在mini-batch梯度下降法中,我们曾经说过因为分割了baby batch,所以迭代是有波动而且不能够精确收敛于最小值的 因此如果我们将学习率α逐渐变小,就可以使得在学习率α较大的时候加快模型训练 ...

  2. html常用标签详解

    html常用标签详解 一.总结 一句话总结: 这些资料没必要自己总结,可以直接网上找,简单方便,再根据需求改一下 二.HTML常用标签详解 转自或参考:HTML常用标签详解https://blog.c ...

  3. qt creator中常用快捷键

    激活欢迎模式 Ctrl + 1 激活编辑模式 Ctrl + 2 激活调试模式 Ctrl + 3 激活项目模式 Ctrl + 4 激活帮助模式 Ctrl + 5 激活输出模式 Ctrl + 6 查找当前 ...

  4. ORACLE AUDIT

    Oracle 作者:Davis_itpub 时间:2018-06-27 16:28:39  61  0 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle 会将审计跟踪结果存放到OS ...

  5. 屏幕录制 -- web前端

    前端使用html5.ffmpeg实现录屏摄像等功能 https://tong-h.github.io/2018/11/06/streamcapture/ JSCapture – 基于 HTML5 实现 ...

  6. python 处理geoJson to shp 互转

  7. 算法的时间复杂度O

    一.时间复杂度 在进行算法分析时,语句总的执行次数 T(n) 是关于问题的规模n 的函数,进而分析 T(n) 随 n 的变化情况并确定 T(n) 的数量级,算法的时间复杂度,也就是算法的时间度量,记作 ...

  8. 为什么要监控sql语句?如何监控?

    01 为什么要监控sql语句? ① 因为程序大了以后,sql语句有可能被多个地方调用 .你不能确认当前时间是不是只执行了你需要的那条语句 . ② 有的持久层框架采用linq的语法来写sql , 程序中 ...

  9. RestSharp - Ignore SSL errors

    项目启动时,添加下面代码: 项目启动时,添加 public App() { ServicePointManager.ServerCertificateValidationCallback += (se ...

  10. idea-debug启动会卡住不动,BeanPostProcessors (for example: not eligible for auto-proxying),报错解决

    debug启动会卡住不动,run模式启动正常 debug启动输出到下面这行之后,就不会继续输出了 爆出各种 [INFO]- Bean 'dataSource' of type [class Druid ...