又是一道大数的题目,可以直接用Java解决,用C++处理起来比较麻烦
import java.math.BigDecimal;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
Scanner str_scan;
String s = "";
String temp;
BigDecimal num1, num2, max, res;
max = new BigDecimal(Integer.MAX_VALUE);
String oper;
while(scanner.hasNextLine())
{
s = scanner.nextLine();
str_scan = new Scanner(s);
temp = str_scan.next();
num1 = new BigDecimal(temp);
oper = str_scan.next();
temp = str_scan.next();
num2 = new BigDecimal(temp);
/*
System.out.println("num="+num1);
System.out.println("oper:"+oper);
System.out.println("num2="+num2);
*/
System.out.println(s);
if(num1.compareTo(max) > 0)
{
System.out.println("first number too big");
}
if(num2.compareTo(max) > 0)
{
System.out.println("second number too big");
}
if(oper.compareTo("+") == 0)
{
res = num1.add(num2);
}
else
{
res = num1.multiply(num2);
}
if(res.compareTo(max) > 0)
{
System.out.println("result too big");
}
}
}
}