登录 注册

收藏
[C] 标签: 2014-03-14 20:54
原始代码 全屏查看 0评 / 0藏 / 6111阅  跳至 / 67行
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define MAX 510
char str1[MAX];
char str2[MAX];
int num1[MAX];
int num2[MAX];
int sum[MAX];
int len_a,len_b,len_max;
void char_to_int(void)
{
    int i,j;
    len_a = strlen(str1);
    len_b = strlen(str2);
    for(i = len_a - 1,j = 0;i >= 0;i --,j ++)
    {
        num1[j] = str1[i] - '0';
    }
    for(i = len_b - 1,j = 0;i >= 0;i --,j ++)
    {
        num2[j] = str2[i] - '0';
    }
}
void add(void)
{
    int i,j;
    int k;
    len_max = len_a > len_b ? len_a : len_b;
    for(i = 0;i <= len_max;i ++)
    {
        k = num1[i] + num2[i] + sum[i];
        sum[i] = k % 10;
        sum[i + 1] = k / 10;
    }
}
void output(void)
{
    int i;
    i = len_max;
    while(sum[i] == 0)
        i --;
    if(i < 0)
        printf("0\n");
    else
    {
        while(i >= 0)
            printf("%d",sum[i--]);
        printf("\n");
    }
}
int main(void)
{
    while(scanf("%s%s",str1,str2) != EOF)
    {
        memset(num1,0,sizeof(num1));
        memset(num2,0,sizeof(num2));
        memset(sum,0,sizeof(sum));
        char_to_int();
        add();
        output();
        memset(str1,0,sizeof(str1));
        memset(str2,0,sizeof(str2));
    }
    return 0;
}

最新评论

  · · · · · ·  (共0条)

目前还没有评论

登录后您才可以发表评论。 马上登录 立即注册
Mitrenick
2014-03-14加入
Mitrenick最近分享的代码
Back to Top