一、可借鉴的

1. 输出true或false

题目要求输出字符串类型的false或true时,有两种方法

  1. //使用三目运算符:
  2. bool result = (a[j] + b[j] > c[j]);
  3. printf("Case #%d: %s\n",j,result == false?"false":"true");
  4. //if判断语句
  5. if(a+b>c){
  6. printf("Case #%d: true\n",tcase++);
  7. }else{
  8. printf("Case #%d: false\n",tcase++);
  9. }

2. 输入类型

这道题要求各个元素处于区间 [−2^31,2^31] 内,而:

  1. int 类型处于 [−2^31,2^31 - 1]内
  2. 元素相加后也有很大可能不处于这个区间里

因此要使用long long类型

3. 循环的另一种方法

  1. //使用while代替for循环
  2. scanf("%d",&T);
  3. while(T--){
  4. }

4. 在PTA上使用vector会产生段错误

二、代码段

  1. #include<cstdio>
  2. #include<vector>
  3. using namespace std;
  4. int main(){
  5. int num;
  6. // vector<int> a,b,c;
  7. //int a[10],b[10],c[10];
  8. long long a[10],b[10],c[10];
  9. scanf("%d",&num);
  10. for (int i = 1; i <= num; i++)
  11. {
  12. scanf("%lld %lld %lld",&a[i],&b[i],&c[i]);
  13. }
  14. for (int j = 1; j <= num; j++)
  15. {
  16. bool result = (a[j] + b[j] > c[j]);
  17. printf("Case #%d: %s\n",j,result == false?"false":"true");
  18. }
  19. }