实现一个加法器,使其能够输出a+b的值。
题目描述:实现一个加法器,使其能够输出a+b的值。
输入:
输入包括两个数a和b,其中a和b的位数不超过1000位。
输出:
可能有多组测试数据,对于每组数据,
输出a+b的值。
样例输入:
2 6
10000000000000000000 10000000000000000000000000000000
样例输出:
8
10000000000010000000000000000000
这个题是什么意思 不懂
大神们帮帮我{:10_266:} 不是2+6 = 8
10000000000000000000+10000000000000000000000000000000 = 10000000000010000000000000000000吗?
主要考虑的是溢出的问题,因为你如果用int型来存储第二个数的话就会溢出了{:10_266:} 基本满足需求{:10_266:}
#include <stdio.h>
int main()
{
int a,b;
while(1)
{
scanf("%d %d",&a,&b);
printf("%d ",a+b);
}
return 0;
} DarkSE 发表于 2016-11-30 11:00
不是2+6 = 8
10000000000000000000+10000000000000000000000000000000 = 100000000000100000000000000000 ...
那用什么 ?double?{:10_266:} 致年轻的我们 发表于 2016-11-30 12:03
基本满足需求
{:10_247:} 楠木青花 发表于 2016-11-30 12:57
那用什么 ?double?
double的最大值和最小值分别为1.79769e+308(10^308),2.22507e-308(10^-308),网上查的也不知道对不对,10^308次方也不够一千位啊
我写了一部分简略的你看一下
int main()
{
int a;
int temp;
int num = 0;
temp = getch();
while( (temp-48) >=0 && (temp-48)<=9 )
{
a = temp - 48;
num++;
temp = getch();
}
cout<<endl;
for(int i=0;i<num;i++)
{
cout<<a;
}
cout<<endl;
return 0;
}
页:
[1]