1011 A+B 和 C

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


解题思路:
根据题意,求出AB之和,再看判断和与C的大小即可。


代码:

def main():
    n = int(input())
    # 接收输入的整数
    answer = []
    # 列表,存储答案
    for x in range(n):
        data = [int(x) for x in input().split()]
        # 接收输入的三个整数A B C
        answer.append(data[0] + data[1] > data[2])
        # data[0] + data[1] > data[2]是一个表达式,表达式是有值的,而它的值就是ture 或者 false
    for x in range(n):
        # 拼接出每个测试的答案对应的输出字符串
        temp = "Case #{}: ".format(x + 1)
        # 字符串的format方法可以用于格式化,一个直观的用法就是将字符串的指定部分替换为我们想要的内容。
        # "Case #{}: ".format(x + 1)的意思就是将{}部分替换为x+1的值的对应字符串。如"Case #{}: ".format(0) -> "Case #0: "
        if answer[x]:
            # 拼接字符串后续的部分
            temp += 'true'
        else:
            temp += 'false'
        print(temp)


if __name__ == '__main__':
    main()

  • Java Version: 直接使用长整型啦
import java.util.Scanner;
import java.io.*;

public class Main{
	public static void main(String[] args) {
//		FileInputStream fis = null;
//		try {
//			fis = new FileInputStream("C:\\Users\\DELL\\eclipse-workspace\\01\\src\\in.txt");
//			System.setIn(fis);
//		} catch (FileNotFoundException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
		Scanner in = new Scanner(System.in);
		long T = in.nextLong();
		for(int i=0; i<T; ++i) {
			long a = in.nextLong();
			long b = in.nextLong();
			long c = in.nextLong();
			if (a + b > c) {
				System.out.println(String.format("Case #%s: true", ""+(i + 1)));
			}else {
				System.out.println(String.format("Case #%s: false", ""+(i + 1)));
			}
		}
		in.close();
	}
	
}

易错点:

  • 输出答案中的true 和 false 首字母都是小写,而Python 中 True 和 False 首字母都是大写。所以temp += str(answer[x])将会导致答案错误,而temp += str(answer[x]).lower()会得到正确结果。这是因为字符串的lower()函数能够将字符串中的大写字符转换为小写字符,而答案中所要求的正是小写的“true” 和 “false”。

总结:


java0win

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值