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

指针处理大数各种情况

发布时间:2020-12-14 03:51:28 所属栏目:大数据 来源:网络整理
导读:int main() { ???char c[1001],d[1001]; ???int a[1001],b[1001],i; ???cinc; ???a[0]=strlen(c); ???for (i=1;i=a[0];i++) ???????a[i]=c[a[0]-i]-'0'; ???cind; ???b[0]=strlen(d); ???for (i=1;i=b[0];i++) ???????b[i]=d[b[0]-i]-'0'; } ? 大加大 复制代

int main()

{

???char c[1001],d[1001];

???int a[1001],b[1001],i;

???cin>>c;

???a[0]=strlen(c);

???for (i=1;i<=a[0];i++)

???????a[i]=c[a[0]-i]-'0';

???cin>>d;

???b[0]=strlen(d);

???for (i=1;i<=b[0];i++)

???????b[i]=d[b[0]-i]-'0';

}

?

大加大

复制代码

void djd(int *x,int *y,int *z)

{

????int r,j=0,i;

????if (x[0]<y[0])

???????z[0]=y[0];

????for (i=1;i<=x[0];i++)

????{

????????r=x[i]+y[i]+j;

????????j=r/10;

????????z[i]=r%10;

????}

????if (j)

???????z[++z[0]]=1;

}

?

大加小

复制代码

void djx(int *x,int y,i=1;

????z[0]=x[0];???

????r=x[i]+y+j;

????j=r/10;

????z[i]=r%10;

????while (j>0)

????{

??????????z[++i]+=j%10;

??????????j/=10;

????}

}

?

大乘大

复制代码

void dcd(int *x,j,i,k;

????z[0]=x[0]+y[0]-1;

????for (i=1;i<=x[0];i++)

????{

????????j=0;

????????for (k=1;k<=y[0];k++)

????????{

????????????r=x[i]*y[k]+j;

????????????j=r/10;

????????????z[i+k-1]=r%10;

????????}

????}

????while (j>0)

????{

??????????z[++z[0]]=j%10;

??????????j/=10;

????}

}

?

大乘小

复制代码

void dcx(int *x,i;

????z[0]=x[0];

????for (i=1;i<=x[0];i++)

????{???

????????r=x[i]*y+j;

????????j=r/10;

????????z[i]=r%10;

????}

????while (j>0)

????{

??????????z[++z[0]]=j%10;

??????????j/=10;

????}

}

?

在输出时,记得在输出前加上:

复制代码

while (a[a[0]]==0&&a[0]!=1)

?????????a[0]--;

?

这样如果*0或加、乘数首位有0也就没问题了

(编辑:李大同)

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

    推荐文章
      热点阅读