大数据结构课程设计-大数问题

大数据结构课程设计-大数问题

ID:47725489

大小:135.50 KB

页数:17页

时间:2019-11-05

大数据结构课程设计-大数问题_第1页
大数据结构课程设计-大数问题_第2页
大数据结构课程设计-大数问题_第3页
大数据结构课程设计-大数问题_第4页
大数据结构课程设计-大数问题_第5页
资源描述:

《大数据结构课程设计-大数问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标准文案大数运算问题的程序设计例如:输入第一个数为:1234567890987654321,输入第二个数为:1239874355878921367863则输出结果:1234567890987654321*1239874355878921367863=正确答案。源程序:#include"stdio.h"#include"malloc.h"#include"string.h"#defineMAX20typedefcharDataType;typedefstruct{DataTypedata[MAX];i

2、nttop;}SeqStack,*PSeqStack;intStackEmpty(PSeqStackS){returnS->top==-1;}intStackFull(PSeqStackS){returnS->top==MAX-1;大全标准文案}voidPush(PSeqStackS,DataTypex){if(StackFull(S))printf("栈中元素已经满了!请先出栈或把栈置空!");S->data[++S->top]=x;}DataTypePop(PSeqStackS){if(St

3、ackEmpty(S))printf("栈为空,无法出栈,请检查a!");returnS->data[S->top--];}DataTypeStackTop(PSeqStackS){if(StackEmpty(S))printf("栈为空,无法出栈,请检查!");returnS->data[S->top];}voidAdd(PSeqStackM,PSeqStackN,PSeqStackaddnumber)//加法函数{大全标准文案intzongshu,shiweishu=0;if(M->to

4、p==N->top){while(M->top!=-1){zongshu=Pop(M)-48+Pop(N)-48+shiweishu;shiweishu=zongshu/10;Push(addnumber,(zongshu%10+48));}}elseif(M->top>N->top){while(N->top!=-1){zongshu=Pop(M)-48+Pop(N)-48+shiweishu;shiweishu=zongshu/10;Push(addnumber,(zongshu%10+48))

5、;}while(M->top!=-1){zongshu=Pop(M)-48+shiweishu;shiweishu=zongshu/10;大全标准文案Push(addnumber,(zongshu%10+48));}}elseif(M->toptop){while(M->top!=-1){zongshu=Pop(M)-48+Pop(N)-48+shiweishu;shiweishu=zongshu/10;Push(addnumber,(zongshu%10+48));}while(N->to

6、p!=-1){zongshu=Pop(N)-48+shiweishu;shiweishu=zongshu/10;Push(addnumber,(zongshu%10+48));}}}intMinus(PSeqStackM,PSeqStackN,PSeqStackaddnumber)大全标准文案//减法函数{intj=0;intkk;if(M->top==N->top){for(j=0;j<=M->top;j++){if(M->data[j]>N->data[j]){while(N->top!=-1)

7、{if(Pop(M)>=Pop(N)){kk=(Pop(M)-48)-(Pop(N)-48);Push(addnumber,(kk+48));}else{Push(addnumber,((Pop(M)-48)+10-(Pop(N)-48)+48));Push(M,(Pop(M)-1));}大全标准文案}j=N->top+1;}elseif(M->data[j]data[j]){printf("被减数比减数小!请检查a!");j=N->top+1;}}Push(addnumber,0);r

8、eturn1;}elseif(M->top>N->top){while(N->top!=-1){if(Pop(N)<=Pop(M)){kk=(Pop(M)-48)-(Pop(N)-48);Push(addnumber,(kk+48));}else大全标准文案{Push(addnumber,(Pop(M)-48+10-(Pop(N)-48)+48));//先要把字符转成数字,相减后再把数字转成字符Push(M,(Pop(M)-1));}}while(M->top!=-1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。