A1065. A+B and C (64bit) (20)
#include <stdio.h>
int main(){
int N;
scanf("%d", &N);
long long a, b, c;
long long res;
int boolflag[N];
for(int i = 0; i < N; i++){
scanf("%lld%lld%lld", &a, &b, &c);
res = a + b;
if(a > 0 && b > 0 && res < 0) // a + b 很大导致溢出
boolflag[i] = 1;
else if(a < 0 && b < 0 && res >= 0) // a + b 很小导致溢出
boolflag[i] = 0;
else if(res > c)
boolflag[i] = 1;
else
boolflag[i] = 0;
}
for(int i = 0; i < N; i++){
if(boolflag[i] == 0)
printf("Case #%d: false\n", i + 1);
else
printf("Case #%d: true\n", i + 1);
}
return 0;
}
本文介绍了一个C语言程序,该程序通过输入多个组的三个整数,并使用64位整数运算来检查每组中两个数相加是否会导致溢出,以及其和是否大于第三个数。对于每组数据,程序将输出一个判断结果。
357

被折叠的 条评论
为什么被折叠?



