题目描述
PAT Advanced 1065
https://pintia.cn/problem-sets
题目来源及自己的思路
考察的是溢出问题
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
#include <cstdio>
int main(int argc, char const *argv[])
{
int N = 0;
long long A, B, C;
scanf("%d", &N);
for (int i = 1; i <= N; ++i)
{
scanf("%lld %lld %lld", &A, &B, &C);
long long result = A + B;
if (result < 0 && A > 0 && B > 0) {
// 正溢出
printf("Case #%d: true\n", i);
}else if (result > 0 && A < 0 && B < 0) {
// 负溢出
printf("Case #%d: false\n", i);
}else if (result > C) {
printf("Case #%d: true\n", i);
} else {
printf("Case #%d: false\n", i);
}
}
return 0;
}
你期待的结果是什么?实际看到的错误信息又是什么?
我不知道第三个case为什么一直是错的,我实在是排查不出来哪里出问题了,求各位大神帮忙
两个负数溢出时和还可能会是零.