鱼C论坛

 找回密码
 立即注册
查看: 1986|回复: 5

实现一个加法器,使其能够输出a+b的值。

[复制链接]
发表于 2016-11-29 23:26:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述:
实现一个加法器,使其能够输出a+b的值。

输入:
输入包括两个数a和b,其中a和b的位数不超过1000位。

输出:
可能有多组测试数据,对于每组数据,
输出a+b的值。

样例输入:
2 6
10000000000000000000 10000000000000000000000000000000
样例输出:
8
10000000000010000000000000000000

这个题是什么意思 不懂
大神们帮帮我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 11:00:04 | 显示全部楼层
不是2+6 = 8
10000000000000000000+10000000000000000000000000000000 = 10000000000010000000000000000000吗?
主要考虑的是溢出的问题,因为你如果用int型来存储第二个数的话就会溢出了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-30 12:03:56 | 显示全部楼层
基本满足需求
#include <stdio.h>

int main()
{
        int a,b;
        while(1)
        {
                scanf("%d %d",&a,&b);
                printf("%d ",a+b);
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-30 12:57:18 | 显示全部楼层
DarkSE 发表于 2016-11-30 11:00
不是2+6 = 8
10000000000000000000+10000000000000000000000000000000 = 100000000000100000000000000000 ...

那用什么 ?double?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-30 12:58:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-30 22:44:12 | 显示全部楼层

double的最大值和最小值分别为1.79769e+308(10^308),2.22507e-308(10^-308),网上查的也不知道对不对,10^308次方也不够一千位啊
我写了一部分简略的你看一下
int main()
{
        int a[1000];
        int temp;
        int num = 0;
        temp = getch();
        while( (temp-48) >=0 && (temp-48)<=9 )
        {
                a[num] = temp - 48;
                num++;
                temp = getch();
        }
        cout<<endl;
        for(int i=0;i<num;i++)
        {
                cout<<a[i];
        }
        cout<<endl;
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 18:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表