给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。
注解:主要是考察数的表示范围,用的数据类型是否会溢出
代码:
(1)自己提交的:
#include <stdio.h>
int main(){
int count,num=1;
long a,b,c;
int flag = 1;
scanf("%d",&count);
while(flag){
scanf("%ld %ld %ld",&a,&b,&c);
if(a+b>c){
printf("Case #%d: true\n",num++);
}
else printf("Case #%d: false\n",num++);
count--;
if(count==0) flag=0;
}
}
评注:(1)还是有大学时候的毛病,喜欢用flag来做判断,这样写出来的代码会比较冗余。(2)不会用?来做判断表示
####(2)参考的代码
#include<cstdio>
#include<stdlib.h> //和system pause连用,不然程序结果会闪退
int main(){
int n;
long long A,B,C;
scanf("%d",&n);
for(int i=0;i<n;i++){ //涉及计算次数的最好用for循环
scanf("%lld %lld %lld",&A,&B,&C);
printf("Case #%d: %s\n",i+1,(A+B)>C?"true":"false");
}
return 0;
}