1011 A+B 和 C
一、题目
给定区间 [ − 2 31 , 2 31 ] [-2^{31},2^{31}] [−231,231] 内的 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 开始)。
三、样例
输入样例
4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647
输出样例
Case #1: false
Case #2: true
Case #3: true
Case #4: false
四、题目分析
循环读入数据进行计算比较,按照格式输出。需要注意数值较大,使用long long
类型比较保险。
五、代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long A, B, C;
int n;
int flag = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
if (flag)
putchar('\n');
flag = 1;
cin >> A >> B >> C;
cout << "Case #" << i << ": ";
cout << (A + B > C ? "true" : "false");
}
return 0;
}
六、总结
-
三目运算符:
表达式1 ? 表达式2 : 表达式3 ;
执行顺序:计算表达式1的值,若为真,执行表达式2,否则执行表达式3。三目运算符可以表示简单的条件分支语句,提高编程效率和程序可读性。
-
整型数据存储空间及数值范围(Visual C++)
类型 名称 字节数 数值范围 数值范围(二进制) 大致范围(十进制) [signed] int 有符号基本整型 4 [-2,147,483,648 ~ 2,147,483,647] − 2 31 -2^{31} −231~ ( 2 31 − 1 ) (2^{31}-1) (231−1) − 1 0 9 -10^{9} −109~ 1 0 9 10^{9} 109 unsigned int 无符号基本整型 4 [0 ~ 4,294,967,295] 0 ~ ( 2 32 − 1 ) (2^{32}-1) (232−1) 0 0 0~ 1 0 9 10^{9} 109 [signed] short [int] 有符号短整型 2 [-32,768 ~ 32,767] − 2 15 -2^{15} −215~ ( 2 15 − 1 ) (2^{15}-1) (215−1) − 1 0 5 -10^{5} −105~ 1 0 5 10^{5} 105 unsigned short [int] 无符号短整型 2 [0 ~ 65,535] 0 ~ ( 2 16 − 1 ) (2^{16}-1) (216−1) 0 ~ 1 0 5 10^{5} 105 [signed] long [int] 有符号长整型 4 [-2,147,483,648 ~ 2,147,483,647] − 2 31 -2^{31} −231~ ( 2 31 − 1 ) (2^{31}-1) (231−1) − 1 0 9 -10^{9} −109~ 1 0 9 10^{9} 109 unsigned long [int] 无符号长整形 4 [0 ~ 4,294,967,295] 0 ~ ( 2 32 − 1 ) (2^{32}-1) (232−1) 0 ~ 1 0 9 10^{9} 109 [signed] long long [int] 有符号双长整型 8 [-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807] − 2 63 -2^{63} −263~ ( 2 63 − 1 ) (2^{63}-1) (263−1) − 1 0 18 -10^{18} −1018~ 1 0 18 10^{18} 1018 unsigned long long [int] 无符号双长整型 8 [0 ~ 18,446,744,073,709,551,615] 0 ~ ( 2 64 − 1 ) (2^{64}-1) (264−1) 0 ~ 1 0 19 10^{19} 1019