您的位置:首页 > 其它

uva 424 大数相加

2012-02-05 17:19 225 查看
#include <stdio.h>
#include<string.h>
const int MAXN=110;

int main(int argc, char *argv[])
{
int sum[MAXN];
char temp[MAXN];
int k,s,i,c,len;
memset(sum,0,sizeof(sum));//sum清零
while(scanf("%s",temp))
{
if (temp[0]=='0') break;
len=strlen(temp);
for (i=0;i<len;i++)
temp[i]-=48;//temp的ascii码均在10以内
k=0;
s=0;
c=0;
i=len-1;
while(1)
{
s=temp[i--]+sum[k]+c;
sum[k++]=s%10;
c=s/10;
if(c==0 && i<0) break;
}
}
for (i=MAXN-1;i>=0;i--)
if (sum[i]) break;//取消前导零
for (;i>=0;i--)
printf("%d",sum[i]);
printf("\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: