一、可借鉴的
1. 输出true或false
题目要求输出字符串类型的false或true时,有两种方法
//使用三目运算符:bool result = (a[j] + b[j] > c[j]);printf("Case #%d: %s\n",j,result == false?"false":"true");//if判断语句if(a+b>c){printf("Case #%d: true\n",tcase++);}else{printf("Case #%d: false\n",tcase++);}
2. 输入类型
这道题要求各个元素处于区间 [−2^31,2^31] 内,而:
- int 类型处于 [−2^31,2^31 - 1]内
- 元素相加后也有很大可能不处于这个区间里
因此要使用long long类型
3. 循环的另一种方法
//使用while代替for循环scanf("%d",&T);while(T--){}
4. 在PTA上使用vector会产生段错误
二、代码段
#include<cstdio>#include<vector>using namespace std;int main(){int num;// vector<int> a,b,c;//int a[10],b[10],c[10];long long a[10],b[10],c[10];scanf("%d",&num);for (int i = 1; i <= num; i++){scanf("%lld %lld %lld",&a[i],&b[i],&c[i]);}for (int j = 1; j <= num; j++){bool result = (a[j] + b[j] > c[j]);printf("Case #%d: %s\n",j,result == false?"false":"true");}}
