您的位置:首页 > 其它

NYOJ 272 Adding Reversed Numbers

2011-12-07 18:29 225 查看
大数相加题,逆转再逆转 总卡在1这,提交string又漏了.h,坑爹啊

题目链接 http://acm.nyist.net/JudgeOnline/problem.php?pid=272

代码:

#include<stdio.h>
#include<string.h>
int main()
{
int s,len1,len2,len,i,k,up;
int a[1001],b[1001];
char str1[1001],str2[1001];
scanf("%d", &s);
while(s--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
scanf("%s",str1);
scanf("%s",str2);
len1=strlen(str1);
len2=strlen(str2);
len=len1>=len2?len1:len2;
for(i=0,k=0;i<=len1-1;i++)
{
a[k++]=str1[i]-'0';
}
for(i=0,k=0;i<=len2-1;i++)
{
b[k++]=str2[i]-'0';
}
for(i=0,up=0;i<=len;i++)
{
a[i]=a[i]+b[i]+up;
up=a[i]/10;
a[i]=a[i]%10;
}
for(i=0;i<=len;i++)
{
if(a[i]) break;
}
for(k=i;k<=len-1;k++)
{
printf("%d",a[k]);
}
if(a[len]==1) printf("1");//**两个数相加进位的首数字一定为1(在这里纠结了好久)**//
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  numbers up string