您的位置:首页 > 其它

uva465 - Overflow

2016-07-13 16:27 337 查看

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: