大整数运算(加法)

来源:互联网 发布:外汇查询软件 编辑:程序博客网 时间:2024/05/12 03:07
 

大整数运算(加法)

(大整数加法(str_a+str_b=str_c)
#include<stdio.h>
#include<string.h>
#define N 1009
void add(char str_a[],char str_b[],char str_c[])
{
    char a[N],b[N],c[N];
    int i,sum,len_a,len_b,len,carry;
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(c,0,sizeof(c));
    strcpy(a,str_a);strcpy(b,str_b);
    strrev(a);strrev(b);
    len_a=strlen(a);len_b=strlen(b);
    for(i=0;i<len_a;i++)
        a[i]=a[i]-'0';
    for(i=0;i<len_b;i++)
        b[i]=b[i]-'0';
    len=len_a>len_b?len_a:len_b;
    carry=0;
    for(i=0;i<len;i++)
    {
        sum=a[i]+b[i]+carry;
        c[i]=sum%10;
        carry=sum/10;
    }
    if(carry>0)
    {
        c[i]=carry;
        i++;
    }
    len=i;
    for(i=0;i<len;i++)
        c[i]=c[i]+'0';
    c[len]='\0';
    strrev(c);
    strcpy(str_c,c);
}
int main()
{
    char str_a[N],str_b[N],str_c[N];
    scanf("%s %s",str_a,str_b);
 add(str_a,str_b,str_c);
 puts(str_c);
        return 0;
}
 
原创粉丝点击