![两个极大正整数求和C++源程序_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/7c950a9e-e6c4-467f-87c6-31d0078896de/7c950a9e-e6c4-467f-87c6-31d0078896de1.gif)
![两个极大正整数求和C++源程序_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/7c950a9e-e6c4-467f-87c6-31d0078896de/7c950a9e-e6c4-467f-87c6-31d0078896de2.gif)
![两个极大正整数求和C++源程序_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/7c950a9e-e6c4-467f-87c6-31d0078896de/7c950a9e-e6c4-467f-87c6-31d0078896de3.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include <iostream>#include <string>using namespace std;int main() string a, b;int *sum;int i, ja, jb;cout << "请输入两个数字,每个数字以空格结尾:" << endl;cin >> a >> b;string temp;if ( a.size() > b.size() ) / 如果a长度大于b,则交换两字符串temp = a; a = b;b = temp;/ 在这后,就肯定是a的长度比b
2、小,所以和的位数最大就是b的位数+1。sum = new intb.size()+1; / 所以给和申请b的位数+1个位置。sum0 = 0;char achar1;char bchar1;int carry = 0; / 记录进位int sizeDif = b.size() - a.size(); / 记录两个数字的位数差int count; / 记录和的位数for ( ja = a.size()-1, jb = b.size()-1; ja >= 0; ja-, jb- )achar0 = aja;bchar0 = bjb;sumjb+1 = atoi(achar) + atoi(b
3、char) + carry;carry = 0; / 清空进位标志位if( sumjb+1 > 9 )carry = 1;sumjb+1 -= 10; / 使之成为一位数,方便输出。for ( i = sizeDif-1; i >= 0 ; i- )bchar0 = bi;sumi+1 = atoi(bchar)+carry; / 转换为数字carry = 0; / 清空进位标志位if( sumi+1 > 9 )carry = 1;sumi+1 -= 10; / 使之成为一位数,方便输出。cout << endl << "The proces
4、s is:" << endl;for ( i = 0; i <= sizeDif; i+ )cout << " "cout << a << endl;cout << "+" << b << endl;for ( i = 0; i <= b.size(); i+ )cout << "-"cout << endl;if ( carry = 1 ) / 当和的位数为b的位数+1时cout <<
5、9;1' / 先输出最高位,否则就不输出。elsecout << " "for ( i = 1; i <= b.size(); i+ )cout << sumi;cout << endl;cout << endl << "So the result is: "int remainder;if ( carry = 1 ) / 当和的位数为b的位数+1时count = b.size()+1;sum0 = 1;remainder = count%4;for ( i = 0; i <
6、 remainder; i+ )cout << sumi;if ( remainder = 0 )for ( ; remainder < 4; remainder+ )cout << sumremainder;for ( i = remainder; i < count; i+ )if ( (i-remainder) % 4 = 0)cout << ','cout << sumi;else count = b.size();remainder = count%4;for ( i = 1; i < remainder+1; i+ )cout << sumi;for ( i = remainder+1; i <= count; i+ )if (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科研楼翻新合同终止通知
- 书店装修员工合同样本
- 自然人借款合同样本
- 三农村资源综合利用路径规划
- 电子政务平台建设及管理手册
- 农业信息化建设与管理作业指导书
- 担保借款合同书
- 聘请博士协议书
- 项目管理与协调能力作业指导书
- 农产品食品安全与质量控制标准作业指导书
- 风电设备安装施工专项安全措施
- IQC培训课件教学课件
- 2025年计算机二级WPS考试题目
- 高管绩效考核全案
- 关于成立合同审核小组的通知
- 征地拆迁项目社会稳定风险评价报告
- 长沙医学院《无机化学》2021-2022学年第一学期期末试卷
- eras妇科肿瘤围手术期管理指南解读
- 苏州大学《实证金融》2022-2023学年第一学期期末试卷
- 商场楼层主管培训
- GB/T 750-2024水泥压蒸安定性试验方法
评论
0/150
提交评论