【PAT】B1011
2020-03-28 20:02
78 查看
给定区间。。内 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<cstdio> int main(){ int n; scanf("%d", &n); for(int i = 1; i<=n; i++){ int a, b, c; scanf("%d", &a); //写在一句 scanf("%d", &b); scanf("%d", &c); if(a + b > c){ printf("Case #%d: true\n", i); }else{ printf("Case #%d: false\n", i); } } return 0; }
【错误】
0。题目要求一次性输入后 一次性输出所有结果,这样是每一次循环就输出一次,不满足要求;
1.给出的单个数字符合int型 但题目有相加情况,因此要用long long int型;
通过代码
#include<cstdio> int main(){ int n; bool A[11] = {false}; scanf("%d", &n); for(int i = 1; i<=n; i++){ long long int a, b, c; scanf("%lld%lld%lld", &a, &b, &c); if(a + b > c){ A[i] = true; } } for(int i = 1; i<=n; i++){ if(A[i] == true){ printf("Case #%d: true\n", i); }else{ printf("Case #%d: false\n", i); } } return 0; }
【改进以及知识点】
0. scanf连续输入三个数字写在一句即可;
1.bool型数组是逻辑型,并非数组某一位就是 "false “抑或"true”,只能用if(A[i]==true)来判断,而不能用来赋值字符串。
2.柳神代码也是不满足一次性输入输出要求的,但我写的第二个循环里面的if语句,可用一句代替 将判断语句写在printf内部
for(int i = 1; i<=n; i++){ printf("Case #%d: %s\n", i, a + b > c ? "true" : "false"); }
柳神代码
#include <iostream> using namespace std; int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { long long int a, b, c; scanf("%lld%lld%lld", &a, &b, &c); printf("Case #%d: %s\n", i + 1, a + b > c ? "true" : "false"); } return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- PAT b1011-b1015题解
- PAT-乙级B1011-long long型(vc 6.0不兼容)
- 【3.1】【C】【PAT】B1011
- 【PAT乙级B1011】A+B 和 C
- PAT(B1011)提交出错,本地IDE可以实现输入,输出。请问错误在什么地方
- PAT乙级 B1011(A+B和C)
- C++ PAT 乙级B1011 A+B和C
- PAT-B1011题解
- 【PAT】A1013. Battle Over Cities(DFS)
- PAT (Basic Level) 1067 试密码
- PAT 1073. Scientific Notation (20)
- New Beginning --- PAT_Basic 1001
- PAT 1002
- PAT 甲级 1011. World Cup Betting (20)
- PAT L2-014. 列车调度 最长上升子序列
- PAT1031 查验身份证(15)
- 浙大PAT 1021. Deepest Root (25)
- PAT程序能力考题——甲级1010(比较任意进制转换的两个数字,是否相等)
- B1040. 有几个PAT(25)
- 1135. Is It A Red-Black Tree (30)-PAT甲级真题