记录编号 234826 评测结果 AAAAAAAAAA
题目名称 增强的加法问题 最终得分 100
用户昵称 GravatarRiolu 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2016-03-09 17:17:21 内存使用 0.32 MiB
显示代码纯文本
/*=========================================*
  * Auther: Riolu
  * Page: 
  * Time: 
  * ©Copyright 2016 Riolu. All Rights Reserved.
  *=========================================*/
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;

char aa1[1000],bb1[1000],cc1[1000];

void add(char a1[],char b1[],char c1[]){
	int lena,lenb,lenc;
	int a[1000],b[1000],c[1000],x,i;
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(c,0,sizeof(c));
	lena=strlen(a1);
	lenb=strlen(b1);
	for(i=0;i<lena;i++)							//字符串转化为数组
		a[lena-i]=a1[i]-48;
	for(i=0;i<lenb;i++)
		b[lenb-i]=b1[i]-48;						//倒序存储
	lenc=1;   x=0;									//x进位缓存
	while(lenc<=lena || lenc<=lenb){
		c[lenc]=a[lenc]+b[lenc]+x;				//相加与进位
		x=c[lenc]/10;								//进位值
		c[lenc]%=10;								//取个位
		lenc++;
		}
	c[lenc]=x;
	if(c[lenc]==0)
		lenc--;
	for(i=lenc;i>=1;i--)
		c1[lenc-i]=c[i]+48;							//倒序返回
	c1[lenc]='\0';
	}	

int main()
{
	freopen("add.in","r",stdin);
	freopen("add.out","w",stdout);
	gets(aa1);gets(bb1);	
	add(aa1,bb1,cc1);
	cout<<cc1;
	return 0;
}