PAT [1011]A + B 和 C
来源:互联网 发布:红蜘蛛显示器校正软件 编辑:程序博客网 时间:2024/05/21 17:48
给定区间[-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开始)。
输入样例:41 2 32 3 42147483647 0 21474836460 -2147483648 -2147483647输出样例:
Case #1: falseCase #2: trueCase #3: trueCase #4: false
这道题反反复复提交了六次不断修改提交后得到全部正确的结果,心酸。
当然这道题其实不难,而是有一个坑,如果不爬出来就得不到满分。
题目给的整数范围是int型的,然而两个整型相加有可能超出int型的范围,所以我们在赋值给A B C的时候应该使用long long型,这样才不会导致数据相加超出范围的情况。
以下是代码:
#include<stdio.h>
#include<stdlib.h>
void test(int n)
{
long long i,j;
long long a[100];
for (i = 0; i < (3 * n); i += 3)
scanf_s("%lld %lld %lld",&a[i],&a[i+1],&a[i+2]);
for (i = 0,j = 1; i < 3 * n && j<=n; i += 3,j++)
{
if (a[i] + a[i + 1] > a[i + 2])
printf("Case #%lld: true\n",j);
else if (a[i] + a[i + 1] <= a[i + 2])
printf("Case #%lld: false\n",j);
}
}
int main()
{
int n;
scanf_s("%d", &n);
test(n);
system("pause");
return 0;
}
阅读全文
0 0
- PAT-B 1011A+B和C
- PAT basic 1011 : A+B 和 C
- PAT 1011 A+B和C
- 1011 A+B和C PAT
- A+B和C,PAT 1011
- PAT 1011 A+B和C
- PAT乙级1011 A+B和C
- PAT 1011A+B和C
- PAT [1011]A + B 和 C
- PAT A+B和C
- PAT A+B和C
- pat(B) 1011. A+B和C
- PAT-B 1011. A+B和C
- PAT-B 1011. A+B和C
- Pat(Basic Level)Practice--1011(A+B和C)
- PAT 1011 乙等 (A+B和C) c++
- PAT 1011. A+B和C (15)
- PAT - 1011. A+B和C (15)
- 台大概率第三周
- It's not a Bug, it's a Feature! UVA
- 使用springboot+redis实现session共享
- Android开源表格的实现分析
- Java线程池
- PAT [1011]A + B 和 C
- tar命令
- 图像放缩中最近邻插值和双线性插值的基本原理
- synchronized VS Lock, wait-notify VS Condition
- Hibernate入门配置案例
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- LeetCode题目分类
- Android第三天
- C++之成员函数内存布局③---补充(13)《Effective C++》