uva465

来源:互联网 发布:淘宝买家申请售后换货 编辑:程序博客网 时间:2024/05/17 23:17
函数名: atof

  功 能: 把字符串转换成浮点数

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=406

465 - Overflow

Time limit: 3.000 seconds


Overflow

Write a program that reads an expression consisting of twonon-negative integer and an operator. Determine if either integeror the result of the expression is too large to be represented as a``normal'' signed integer (type integer if you are workingPascal, type int if you are working in C).

Input

An unspecified number of lines. Each line will contain aninteger, one of the two operators + or *, andanother integer.

Output

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

SampleInput

300 + 39999999999999999999999 + 11

SampleOutput

300 + 39999999999999999999999 + 11first number too bigresult too big
题意:不说了。、
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxn 2147483647
int main()
{
 char a[3000],c[3000];//开大点,wa了一次
 char b;
 while(scanf("%s %c %s",a,&b,c)!=EOF)
 {
  printf("%s %c %s\n",a,b,c);
  //sprintf(x,"%d",a);
  if(atof(a)>maxn)
   printf("first number too big\n");
  if(atof(c)>maxn)
   printf("second number too big\n");
  if(b=='+')
  {
   if(atof(a)+atof(c)>maxn)
    printf("result too big\n");
  }
  else if(b=='*')
  {
   if(atof(a)*atof(c)>maxn)
    printf("result too big\n");
  }
 }
 return 0;
}
原创粉丝点击