1011 A+B 和 C (15 分)
给定区间 [−2
31
,2
31
] 内的 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
//方案1 用long long int类型进行存储,无需判断是否发生了越界
#include
#include
int main()
{
int T = 0;
scanf("%d",&T);
for (int i = 1; i <= T; i++)
{
long long int A,B,C;//定义为long long int类型
scanf("%lld %lld %lld",&A,&B,&C);//注意long long int类型的输入格式
if (A - C + B > 0) printf("Case #%d: truen",i);//输出时需加n换行
else printf("Case #%d: falsen",i);
}
return 0;
}
//方案2 用int类型进行存储,判断是否发生了越界再做比较
#include
#include
int main()
{
int T = 0;
int A,C;
scanf("%d",&T);
for (int i = 1; i <= T; i++)
{
scanf("%d %d %d",&C);
int D = A + B;
if (D<0 && A>0 && B>0) printf("Case #%d: truen",i);//判断越界时的状态
else if(D > 0 && A<0 && B < 0) printf("Case #%d: falsen",i);
else if(D>C) printf("Case #%d: truen",i);//否则正常比较输出即可
else printf("Case #%d: falsen",i);
}
return 0;
}
总结以上是内存溢出为你收集整理的PAT (Basic Level) Practice (中文)1011 A+B 和 C (15 分) (C++)(两种方案)全部内容,希望文章能够帮你解决PAT (Basic Level) Practice (中文)1011 A+B 和 C (15 分) (C++)(两种方案)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)