加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

A+B。大数相加。

发布时间:2020-12-14 02:49:53 所属栏目:大数据 来源:网络整理
导读:题目描述 实现一个加法器,使其能够输出a+b的值。 输入格式 输入包括两个数a和b,其中a和b的位数不超过1000位。 输出 可能有多组测试数据,对于每组数据, 输出a+b的值。 样例输入 6?8 2000000000?30000000000000000000 样例输出 14 30000000002000000000 #i

题目描述

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

输入格式

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

输出

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

样例输入

6?8
2000000000?30000000000000000000

样例输出

14
30000000002000000000

#include<stdio.h>
#include<string.h>
int main()
{
? ? char a[10000],b[22222],d[22222];
? ? int c[22222],l;
? ? while(scanf("%s%s",&a,&b)!=EOF)
? ? { if(a[0]-'0'==0&&b[0]-'0'==0) {printf("%dn",a[0]-'0');continue; ?}
? ? ? ? memset(c,sizeof(c));
? ? ? ? int i,q,w,e;
? ? ? ? q=strlen(a);w=strlen(b);
? ? ? ? if(q<w) {e=q;l=w;} else {e=w;l=q;}
? ? ? ? q--;w--;
? ? ? ? for(i=0;i<e;i++)
? ? ? ? ? ? {
? ? ? ? ? ? ?if(a[q]-'0'+b[w]-'0'+c[i]>9)
? ? ? ? ? ? ?{c[i]+=a[q--]-'0'+b[w--]-'0'-10;
? ? ? ? ? ? ?c[i+1]=1;}
? ? ? ? ? ? ?else c[i]+=a[q--]-'0'+b[w--]-'0';}
? ? ? ? ? if(q>w) ? for(i=e;i<l;i++)
? ? ? ? ? ? {if(c[i]+a[i]-'0'>9) ? {c[i]+=a[q--]-'0'-10; c[i+1]=1; }
? ? ? ? ? ? else c[i]+=a[q--]-'0'; ? }
? ? ? ? ? if(q<w) ?for(i=e;i<l;i++)
? ? ? ? ? ? {if(c[i]+b[i]-'0'>9) ? {c[i]+=b[w--]-'0'-10; c[i+1]=1; }
? ? ? ? ? ? else c[i]+=b[w--]-'0'; ? }
? ? ? ? ? ? for(i=l;i>=0&&!c[i];i--) ;//去掉前导0
? ? ? ? ? ? ? ? for(;i>=0;i--) printf("%d",c[i]);printf("n");
}
}


测试数据略水,没有负数,代码问题很多,总之是个很烂的代码,0+0也是用了特判。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读