1011 A+B 和 C (15 分)

mac2022-06-30  80

给定区间 [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 #include <bits/stdc++.h> using namespace std; int main() { int T; cin>>T; long long a,b,c; for(int i=1;i<=T;i++) { cin>>a>>b>>c; if(a+b>c) cout<<"Case #"<<i<<": true"<<endl; else cout<<"Case #"<<i<<": false"<<endl; } return 0; }

 

 

 

这一道题目涉及整数溢出的问题,在这里简单总结一下

早期的操作系统是16位系统,

int用二字节表示,范围是[-215-1,215]

long用四字节表示,范围是[-231-1,231]

后来发展到32位操作系统

int用4字节表示,与long相同。

目前的操作系统已经发展到64位操作系统,但因为程序编译工具不同,两者表现出不同的差别:

32位编译系统:int占四字节,与long相同。

64位编译系统:int占四字节,long占8字节。

在标准中,并没有规定long一定要比int长,也没有规定short比int短。

标准是这么说的:长整型至少和整型一样长,整型至少和短整型一样长。

 

转载于:https://www.cnblogs.com/ManOK/p/10173148.html

最新回复(0)