大数相加

原作者已经找不到了,但是我是从CSUST的博客栏中看到的,一个很好的模板。

我看到的文章来源(不是原出处):http://blog.csdn.net/csust_acm/article/details/7268029

//大数相加
#include <stdio.h>
#include<string.h>

int main()
{
    int i,d,j,d1;
    char a[100];int b[101]={0};int c[100]={0};
    // memset(b,0,sizeof(b));
    // memset(c,0,sizeof(c));
    scanf("%s",a);
    d=strlen(a);
    for(i=d-1,j=0;i>=0;i--)
        b[j++]=a[i]-'0';
    scanf("%s",a);
    d1=strlen(a);
    for(i=d1-1,j=0;i>=0;i--)
        c[j++]=a[i]-'0';
    
    if(d1>d)
        d=d1;
    for(i=0;i<d;i++)
    {
        b[i]=b[i]+c[i];
        if(b[i]>=10)
        {
            b[i]=b[i]%10;
            b[i+1]=b[i+1]+1;
        }
    }
    if(b[d]==1) 
    printf("%d",b[d]);
    for(j=d-1;j>=0;j--)
        printf("%d",b[j]);printf("\n"); 
    return 0;
}

 


posted @ 2012-08-14 16:03  free斩  Views(179)  Comments(0Edit  收藏  举报