1. 程式人生 > 其它 >PAT甲級-1065 A+B and C (64bit) (20分)

PAT甲級-1065 A+B and C (64bit) (20分)

技術標籤:PAT (Advanced Level)

題目:1065 A+B and C (64bit) (20分)
分析:比較大小,存在溢位的問題,程式碼如下,但是測試資料有個問題

在這裡插入圖片描述
這樣輸出不應該是true嗎,然而程式碼也可以過。測試資料有問題?

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <stack>
#include <set>
#include <map>
#include
<math.h>
#include <queue> #include <algorithm> #define MAX 999999999 typedef long long ll; using namespace std; int n,m,k; int main() { ll a,b,c; cin>>n; for(int i = 1;i<=n;i++) { scanf("%lld%lld%lld",&a,&b,&c); ll sum =
a + b; if(a > 0 && b > 0 && sum < 0) printf("Case #%d: true\n",i); else if(a < 0 && b < 0 && sum >= 0) printf("Case #%d: false\n",i); else { if(sum > c) printf
("Case #%d: true\n",i); else printf("Case #%d: false\n",i); } } return 0; }