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

大数的加法与乘法

发布时间:2020-12-14 02:27:06 所属栏目:大数据 来源:网络整理
导读:(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,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,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,j;
int a[max_len+20],b[max_len+20],c[max_len*2+20];
char s1[max_len+20],s2[max_len+20];
while(scanf("%s%s",&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; }

(编辑:李大同)

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

    推荐文章
      热点阅读