【1002 HOJ】A+B+C
For each pair of integers A B and C ( -2^31 <= A, B, C<= 2^31-1 ), Output the result of A+B+C on a single line.
Sample Input
1 2 3 3 4 3Sample Output
6 10
我为什么要把这个题给贴出来,因为这个题让我没能成为一个ACMer....
清晰的记得大一的时候不断的submit这个题,怎么也不过,当时很天真的以为两个32位的整型相加的结果一定是32位的整型,这个题目虽然很水,但是让我加深了对于溢出的理解。后来想想当时应该找明白的同学问一问啊,感叹无奈,这个题我知道的大概有两种写法,当然就是防治溢出,要有一个更大的数据类型,那么就可以想到long long 和 double,所以就有下面两种方案:
int main() { long long a,b,c; while(scanf("%lld %lld %lld",&a,&b,&c)==3) { printf("%lld\n",a+b+c); } return 0; }
int main() { double a,b,c; while(scanf("%lf %lf %lf",&a,&b,&c)==3) { printf("%.0lf\n",a+b+c); } return 0; }
唉,mark一下。。。。