概述
1113: 高精度加法之一
Time Limit: 1 Sec Memory Limit: 128 MBDescription
计算a+b的值,a,b 皆不超过300位。
Input
两个数 每行一个
Output
一个数
Sample Input
12
23
Sample Output
35
HINT
Source
#include<stdio.h>
#include<string.h>
void Right(char *s,int strlens,char *c) //使数组右对齐
{
for(int k=0;k<=strlens-1;k++)
{
s[2999-strlens+1+k]=c[k];
}
}
void Add(char *a,char *b,char *d) //a与b相加,结果存到d组中
{
for(int l=2999;l>=0;l--)
{
d[l+1]+=a[l]+b[l]-2*'0';
if(d[l+1]>='9'+1)
{d[l+1]=d[l+1]-10;
d[l]++;}
}
}
main()
{
char a[3000],b[3000],c[3000],e[3000],d[3001];
int i,j;
memset(a,'0',3000);
memset(b,'0',3000);
memset(c,'0',3000);
memset(e,'0',3000);
memset(d,'0',3001);
while(scanf("%s %s",c,e)==2)
{
Right(a,strlen(c),c);
Right(b,strlen(e),e);
Add(a,b,d);
for(i=0;i<3001;i++)
{
if(d[i]!='0')
{break;}
}
int t=0;
for(j=i;j<3001;j++)
{
printf("%c",d[j]);t++;
}
if(t==0)
{printf("0");}
printf("n");
memset(a,'0',3000);
memset(b,'0',3000);
memset(c,'0',3000);
memset(e,'0',3000);
memset(d,'0',3001);
}
}
最后
以上就是顺利猫咪为你收集整理的【HUSTOJ】1113: 高精度加法之一的全部内容,希望文章能够帮你解决【HUSTOJ】1113: 高精度加法之一所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复