关闭

大数计算

479人阅读 评论(0) 收藏 举报
/*大数加法*/ 
# include
<stdio.h>
# include
<string.h>
# include
<malloc.h>

void add(char* a,char* b,char* c)
{
    
int i,j,k,max,min,n,temp;
    
char *s,*pmax,*pmin;
    max
=strlen(a);
    min
=strlen(b);
    
if (max<min)
    
{
        temp
=max;
        max
=min;
        min
=temp;
        pmax
=b;
        pmin
=a;
    }

    
else
    
{
        pmax
=a;
        pmin
=b;
    }

    s
=(char*)malloc(sizeof(char)*(max+1));
    s[
0]='0';
    
for (i=min-1,j=max-1,k=max;i>=0;i--,j--,k--)
        s[k]
=pmin[i]-'0'+pmax[j];
       
for (;j>=0;j--,k--)
           s[k]
=pmax[j];
    
for (i=max;i>=0;i--)
        
if (s[i]>'9')
        
{
            s[i]
-=10;
            s[i
-1]++;
        }

    
if (s[0]=='0')
    
{
        
for (i=0;i<=max;i++)
            c[i
-1]=s[i];
           c[i
-1]='
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:42649次
    • 积分:647
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:20篇
    • 译文:0篇
    • 评论:7条
    最新评论