加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数加法与乘法

发布时间:2020-12-14 02:26:30 所属栏目:大数据 来源:网络整理
导读:( 1 )加法 #includestdio.h #includestring.h #define max_len 200 int main(){ int i,j; int a[max_len+ 20 ],b[max_len+ 20 ]; char s1[max_len+ 20 ],s2[max_len+ 20 ]; while ( scanf ( "%s%s" ,s1,s2)!=EOF) { memset (a, 0 , sizeof (a)); /*是对a进
1)加法
#include<stdio.h>
#include<string.h>
#define max_len 200
int main()
{
    int i,j;
    int a[max_len+20],b[max_len+20];
    char s1[max_len+20],s2[max_len+20];
    while(scanf("%s%s",&s1,&s2)!=EOF)
    {
        memset(a,0,sizeof(a));/*是对a进行初始化,使其值都为零*/ 
        memset(b,sizeof(b));
        int len1=strlen(s1);/*不要忘记这里写len1数据类型*/ 
        for(j=0,i=(len1-1);i>=0;i--)
        a[j++]=s1[i]-'0';
        int len2=strlen(s2);
        for(j=0,i=(len1-1);i>=0;i--)
        b[j++]=s2[i]-'0';
        for(i=0;i<max_len;i++)
        {
            a[i]+=b[i];
            if(a[i]>=10)
            {
                a[i]-=10;
                a[i+1]+=1;
            }
        }
        for(i=max_len;(i>=0)&&(a[i]==0);i--);/*用for循环*/ 
        if(i>=0)
        {
            for(;i>=0;i--)
            printf("%d",a[i]);/*一定要记住这几步!!!*/
        }
        else 
            printf("0");
        printf("n");
    }
    return 0;
}
------------------------------------------------------------------
(2)乘法
#include<stdio.h>
#include<string.h>
#define max_len 200
int main()
{
    int i,b[max_len+20],c[max_len*2+20];
    char s1[max_len+20],&s2)!=EOF)
    {
       memset(a,sizeof(a));
       memset(b,sizeof(b));
       memset(c,sizeof(c));
       int len1=strlen(s1);
       for(j=0,i=(len1-1);i>=0;i--)
       a[j++]=s1[i]-'0';
       int len2=strlen(s2);
       for(j=0,i=(len1-1);i>=0;i--)
       b[j++]=s2[i]-'0'; 
        for(i=0;i<len1;i++)
        {
            for(j=0;j<len2;j++)
            {
                c[i+j]=a[i]*b[j];
                if(a[i+j]>=10)
                {
                    c[i+j]%=10;
                    c[i+j+1]+=(a[i+j]/10);
                }
            }
        } 
        for(i=max_len*2;(i>=0)&&(c[i]==0);i--);
        if(i>=0)
        {
            for(;i>=0;i--)
            printf("%d",c[i]);
        }
        else
            printf("0");
        printf("n");
    }
    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读