uva465 - Overflow

来源:互联网 发布:js 变量的长度 编辑:程序博客网 时间:2024/05/16 13:00

uva465 - Overflow

题目大意:检查两个数相加相乘会不会溢出
解题思路:atof直接把字符串读成浮点数,然后浮点数的范围比int的大的多,直接比较就行了。

#include<cstdio>#include<cstdlib>#include<cstring>char str1[10000];char str2[10000];char op;int limit=2147483647;int main(){    double a,b;     while((scanf("%s %c %s",str1,&op,str2))!=EOF)    {        a=atof(str1);        b=atof(str2);        printf("%s %c %s\n",str1,op,str2);        if(a>limit)printf("first number too big\n");        if(b>limit)printf("second number too big\n");       if(op=='+')         if(a+b>limit)printf("result too big\n");        if(op=='*')        if(a*b>limit)printf("result too big\n");         memset(str2,0,sizeof(str2));        memset(str1,0,sizeof(str1));     }     return 0;}

0 0