码迷,mamicode.com
首页 > 其他好文 > 详细

大数求和 正整数

时间:2014-11-18 13:24:57      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   sp   for   div   log   

 

啥子都不说,直接上代码

:

#include<stdio.h>
#include<string.h>
int MAX(int a,int b)
{
    if(a>b)
        return a;
    return b;
}
void turn(char *p,char *q)
{
    char t=*p;
    *p=*q;
    *q=t;
}
void change(char a[],int n)
{
    int head=0,tail=n;
    while(head<tail){
        turn(a+head,a+tail);
        tail--;
        head++;
    }
}
int main()
{
    char digit1[1010],digit2[1010],digit3[1010];
    while(scanf("%s%s",digit1,digit2)!=EOF){
    memset(digit1+strlen(digit1)+1,‘0‘,sizeof(digit1)-strlen(digit1));
    memset(digit2+strlen(digit2)+1,‘0‘,sizeof(digit2)-strlen(digit2));
    memset(digit3,‘0‘,sizeof(digit3));
    int i,len1,len2,len3;
    len1=1000;
    while(digit1[len1]==‘0‘&&len1>1){
        len1--;
    }
    change(digit1,len1);
    len2=1000;
    while(digit2[len2]==‘0‘&&len2>1)
        len2--;
    change(digit2,len2);
    for(i=0;i<=MAX(len1,len2);i++)
    {
        digit3[i]=digit3[i]+digit1[i]+digit2[i]-‘0‘-‘0‘;
        if(digit3[i]>=‘0‘+10){
            digit3[i+1]++;
            digit3[i]-=10;
        }
    }
    len3=1001;
    while(digit3[len3]==‘0‘&&len3>1)
        len3--;
    //printf("%d\n",len3);
    for(i=len3;i>0;i--)
        printf("%c",digit3[i]);
    printf("\n");
    }
    return 0;
}

 

大数求和 正整数

标签:style   blog   io   color   ar   sp   for   div   log   

原文地址:http://www.cnblogs.com/yanglingwell/p/4105453.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!