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

大数相乘 +方法2(C语言)

发布时间:2020-12-14 04:09:20 所属栏目:大数据 来源:网络整理
导读:#includestdlib.h #includestdio.h #includestring.h void main() { int i,j,len=0,k,pos=-1; char a[100],b[100],c[200],d[1000]; gets(a); gets(b); strrev(a);strrev(b); memset(d,'0',sizeof(d)); for(i=0;b[i]!='';i++) { int num=0; for(j=0;a[j]!='

#include<stdlib.h>

#include<stdio.h>

#include<string.h>

void main() { int i,j,len=0,k,pos=-1; char a[100],b[100],c[200],d[1000]; gets(a); gets(b); strrev(a);strrev(b); memset(d,'0',sizeof(d)); for(i=0;b[i]!='';i++) { int num=0; for(j=0;a[j]!='';j++) ? ?//处理进位 { if(j<=pos) num +=(b[i]-'0')*(a[j]-'0')+(d[j]-'0'); else num +=(b[i]-'0')*(a[j]-'0'); d[j] = num%10 +'0'; num /=10; } c[len++]=d[0]; ? ?//保存最地位值 for(k=1;k<j;k++) ? //a[0] 后面的字符都往前面移动一位 d[k-1] = d[k];? if(num != 0) ? //最高位有进位 { d[--k] = num+'0'; ? pos = k-1; } else ?{ d[--k] =''; pos = k-1;} } c[len] =''; ? ?//给c数组结束标志 strrev(c); strrev(d); ? ? ? //给a里面反序,就是将高位换到前面 低位在后面 strcat(d,c); puts(d); }*/

(编辑:李大同)

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

    推荐文章
      热点阅读