uva 465 - Overflow

这题自己写的太菜了,看了网上的代码,受到很大的启发,有时候大数不一定要用数组,可以用很多方式来替换,一定要多思考,固定思维就是死路。

本文代码出处http://blog.csdn.net/zcube/article/details/8458888

 1 #include <stdio.h>
 2 
 3 const int MINT = 0x7fffffff;
 4 
 5 int main() {
 6 
 7     char str1[1000], str2[1000], ch;
 8 
 9     while (scanf("%s %c %s", str1, &ch, str2) != EOF) {
10 
11         printf("%s %c %s\n", str1, ch, str2);
12 
13         double a, b;
14         sscanf(str1, "%lf", &a);
15         sscanf(str2, "%lf", &b);
16 
17         if (a > MINT)
18             printf("first number too big\n");
19         if (b > MINT)
20             printf("second number too big\n");
21         if ('+'==ch && a+b>MINT)
22             printf("result too big\n");
23         if ('*'==ch && a*b>MINT)
24             printf("result too big\n");
25     }
26 
27     return 0;
28 }

 

posted on 2013-12-19 14:01  云在心  阅读(134)  评论(0)    收藏  举报

导航