大数相加

来源:互联网 发布:注册了com的域名能卖吗 编辑:程序博客网 时间:2024/06/11 20:54
#include <stdio.h>int getmax(char a[]);int main(){    char a[1005]={0},b[1005]={0},c[1005]={0};    int along=0,blong=0,clong=0;//a b c的长度    int jw=0,sum=0;//进位 相加的值while(scanf("%s",a)!=EOF)    {    scanf("%s",b);    //取得a b的长度 并让c的长度不小于他俩    along = getmax(a);    blong = getmax(b);    clong = along>blong?along:blong;    //printf("%d %d %d\n",along,blong,clong);//test out    while(clong+1)//写成clong+1那个才可以处理c[0]    {        sum = (along-1>=0?a[along-1]-'0':0) + (blong-1>=0?b[blong-1]-'0':0) + jw;        if(sum>9)        {            sum-=10;            jw=1;        }else jw=0;        c[clong]=sum+'0';        //printf("%c",c[clong]);        along--;blong--;clong--;    }    int i=0;    for(;;)    {        if(c[i]!='0'){break;}        i++;    }    if(c[i]!=0)    {        printf("%s\n",c+i);    }else printf("%d\n",0);    jw=0,sum=0;    for(int i=0;i<1005;i++)    {        a[i]={0},b[i]={0},c[i]={0};    }    }}int getmax(char a[]){    int i=0;    for(;;i++)    {        if(a[i]==0)break;    }    //printf("%d\n",i); //test out    return i;}
原创粉丝点击