郑州轻工业大学oj题解(c语言)1038: 绝对值最大 易错题
2019-12-18 本文已影响0人
缘点点
1038: 绝对值最大
- 题目描述
输入3个整数,输出绝对值最大的那个数。 - 输入
输入包含3个int范围内的整数,用空格隔开。 - 输出
输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯一,则输出最先出现的那个。例如,若输入为1 -3 3,则输出为-3;若输入为1 3 -3则输出为3。 - 参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
int a, b, c, max;
scanf("%d%d%d", &a, &b, &c);
max = a;
if(abs(b) > abs(max))
max = b;
if(abs(c) > abs(max))
max = c;
printf("%d", max);
return 0;
}
- 代码解析:
本题难度不大,主要在于求绝对值的同时,还要比较他们的大小。
如果这里直接使用判断来变化绝对值后再去比较会很容易出错,易错点在于比较前后的值容易混乱,定义数据过多可能导致混乱出错。
所以这里建议使用数字函数abs(),会更加方便和简单。