给定区间 [−,] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。
输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。
对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。
分类讨论即可,注意数据类型为long long。
#include<cstdio> #include<iostream> using namespace std; int main(void){ int T;//测试用例数 cin>>T; int i; int tcase=1;//当前测试数据数 for(i=1;i<=T;i++){ long long a,b,c; cin>>a>>b>>c; if(a+b>c){ printf("Case #%d: true\n",tcase); tcase++; }else{ printf("Case #%d: false\n",tcase); tcase++; } } return 0; }//—64位编译器—//
char :1个字节 char*(即指针变量): 8个字节 short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 8个字节 _int64:8个字节
所以,对于64位编译器来说,各种类型的范围如下: unsigned int:0~4294967295(0~2^32-1) int:-2147483648~2147483647(-2^31~2^31-1) unsigned long:0~4294967295(0~2^32-1) long:-2147483648~2147483647(-2^31~2^31-1) long long:-9223372036854775808~9223372036854775807(-2^63~2^63-1) unsigned long long:0~18446744073709551615(0~2^64-1)
__int64:-9223372036854775808~9223372036854775807(-2^63~2^63-1) unsigned __int64:0~18446744073709551615(0~2^64-1)