您的位置:首页 > 产品设计 > UI/UE

Integer Inquiry

2012-03-16 23:40 337 查看
高精度加法,不知错在哪里。、

# include <stdio.h>
# include <string.h>

# define MAXN 110

char s[MAXN], sum[MAXN];

int main()
{
int i, len, c, tmp;
char ch;

while (scanf("%s", s) == 1)
{
len = strlen(s);

if (len == 1 && s[0] == '0')
break;

for (i = 0; i < len/2; ++i)
{
ch = s[i];
s[i] = s[len-1-i];
s[len-1-i] = ch;
}

for (c = i = 0; i < len; ++i)
{
tmp = sum[i] + (s[i]-'0') + c;
c = (tmp>9 ? 1:0);
sum[i] = tmp % 10;
}
if (c) sum[i] = c;

memset(s, 0, sizeof(s));
}
for (i = MAXN-1; sum[i] == 0; --i) ;
while (i >= 0) putchar(sum[i--]+'0');

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: