0
点赞
收藏
分享

微信扫一扫

UVA Overflow(判断是否大于int的最大值)


Overflow


Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu


Submit  Status



Description



UVA        Overflow(判断是否大于int的最大值)_Memory



 Overflow 

Write a program that reads an expression consisting of two non-negative integer and an operator. Determine if either integer or the result of the expression is too large to be represented as a ``normal'' signed integer (type integer if you are working Pascal, type int

Input

An unspecified number of lines. Each line will contain an integer, one of the two operators + or *, and another integer.

Output

For each line of input, print the input followed by 0-3 lines containing as many of these three messages as are appropriate: ``first number too big'', ``second number too big'', ``result too big''.

Sample Input



300 + 3 9999999999999999999999 + 11



Sample Output



300 + 3 9999999999999999999999 + 11 first number too big result too big







#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

using namespace std;

int main()
{
    char aa[1000],bb[1100];
    double a,b,c;
    char ch;
    while(scanf("%s%*c%c%s",&aa,&ch,&bb)!=EOF)
    {
        int flag1 = 0;
        int flag2 = 0;
        int flag3 = 0;
        a = atof(aa);
        b = atof(bb);
        if(a>2147483647)
        {
            flag1 = 1;
        }
        if(b>2147483647)
        {
            flag2 = 1;
        }
        if(ch == '+')
        {
            c = a + b;
            if(c>2147483647)
            {
                flag3 = 1;
            }
        }
        else if(ch == '*')
        {
            c = a * b;
            if(c > 2147483647)
            {
                flag3 = 1;
            }
        }
        cout << aa << " " << ch << " " << bb << endl;
        if(flag1 == 1)
        {
            printf("first number too big\n");
        }
        if(flag2 == 1)
        {
            printf("second number too big\n");
        }
        if(flag3 == 1)
        {
            printf("result too big\n");
        }
    }
    return 0;
}




举报

相关推荐

0 条评论