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

大数加法

发布时间:2020-12-14 02:09:32 所属栏目:大数据 来源:网络整理
导读:语法: add(char?a[],char?b[],char?s[]); 参数: a[] : 被乘数,用字符串表示,位数不限 b[] : 乘数,用字符串表示,位数不限 t[] : 结果,用字符串表示 返回值: null 注意: ? ? 空间复杂度为? o(n^2) ? 需要? string.h 源程序: ? ? #include iostrea

语法:add(char?a[],char?b[],char?s[]);

参数:

a[] 被乘数,用字符串表示,位数不限

b[] 乘数,用字符串表示,位数不限

t[] 结果,用字符串表示

返回值: null

注意: ?

? 空间复杂度为?o(n^2)

? 需要?string.h

源程序: ?

?

#include <iostream> #include <string.h>
using namespace std; void add(char a[],char b[],char back[]) { int i,j,k,up,x,y,z,l; char *c; if(strlen(a)>strlen(b)) l=strlen(a)+2; else l=strlen(b)+2; c=(char *) malloc(l*sizeof(char)); i=strlen(a)-1; j=strlen(b)-1; k=0;up=0; while(i>=0||j>=0) { if(i<0) x='0'; else x=a[i]; if(j<0) y='0'; else y=b[j]; z=x-'0'+y-'0'; if(up) z+=1; if(z>9) { up=1; z%=10; } else up=0; c[k++]=z+'0'; i--; j--; } if(up) c[k++]='1'; i=0; c[k]=''; for(k-=1;k>=0;k--) back[i++]=c[k]; back[i]=''; } void add(char a[],char back[]); int main() { char a[100]; char b[100]; char back[100]; cout<<"请输入两个大数:"<<endl; cin>>a>>b; add(a,b,back); cout<<"大数相加结果是:"<<back<<endl; return 0; }

(编辑:李大同)

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

    推荐文章
      热点阅读