PTA basic 1011 A+B 和 C (15 分) c语言实现(gcc)

给定区间 [−] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。

输入格式:

输入第 1 行给出正整数 T (≤),是测试用例的个数。随后给出 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.注意边界问题 2^31 超过了32位int的表示长度,应该用long长整形存输入的数字
 1 #include "stdio.h"
 2 int main(){
 3     int i,n,arr[11];
 4     long a,b,c;
 5     scanf("%d",&n);
 6     for(i=0;i<n;i++){
 7         scanf("%ld %ld %ld",&a,&b,&c);
 8         arr[i]=(a+b)>c?1:2;//将比较结果按次序存入数组
 9     }
10     i=0;
11     while(arr[i]){
12         if(arr[i]==1){
13             printf("Case #%d: true\n",i+1);
14         }else if(arr[i]==2){
15             printf("Case #%d: false\n",i+1);
16         }
17         i++;
18     }
19     return 0;
20 }

 

posted @ 2021-04-19 15:54  keiiha  阅读(81)  评论(0编辑  收藏  举报