博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高精度1--加法
阅读量:5319 次
发布时间:2019-06-14

本文共 1710 字,大约阅读时间需要 5 分钟。

高精度1--加法

一、心得

自己写的东西才是自己的,看一百遍都不一定看得会

 

//没有考虑到输出的时候a[0]是0的情况

//边界情况多多考虑

 

二、题目及分析

计算12345678987755+4324324324

/*

高精度加法:
模拟手算
1、初始化:数组和倒序
2、加:相加和进位
3、输出:倒序
*/

三、代码及结果

自己的:

1 /* 2 高精度加法: 3 模拟手算  4 1、初始化:数组和倒序 5 2、加:相加和进位 6 3、输出:倒序  7 */  8 #include 
9 #include
10 #define Max 10511 using namespace std;12 /*13 s=1234514 length=515 a[5] 0-416 1 s417 2 s318 3 s219 4 s120 5 s021 */22 //初始化字符串:变为int数组和倒序 23 void init(string &s,int (&a)[Max]){24 int length=s.length();25 a[0]=length;26 for(int i=1;i<=length;i++){27 a[i]=s[a[0]-i]-'0';//a[0]这里注意下 28 }29 30 return ;31 }32 //显示数组 33 void printArray(int (&a)[Max]){34 //print35 for(int i=1;i<=a[0];i++){36 //cout<
<<" ";37 printf("%3d ",a[i]);38 } 39 cout<
0) a[0]++; //修正a的位数(a+b最多只能进一位) 57 }58 //输出结果59 void outputAns(int (&a)[Max]){60 //没有考虑到输出的时候a[0]是0的情况 61 //边界情况多多考虑 62 if(a[0]==0){cout<<0<
=1;i--){64 cout<
>s1>>s2;73 cout<
<<" "<
<

 

书上的:

1 /* 2 高精度就是在模拟手算 3 用计算机模拟手算的方法就可以得到各种高精度  4 */ 5 #include 
6 using namespace std; 7 //初始化字符数组, 8 //将数串s转换为数组a,并倒序存储. 9 void init(int a[]){10 string s;11 cin>>s;//读入字符串12 a[0]=s.length(); //用a[0]计算字符串s的位数 13 for(int i=1;i<=a[0];i++){14 a[i]=s[a[0]-i]-'0';//将数串s转换为数组a,并倒序存储.15 }16 } 17 //高精度加法18 void jia(){19 int i,k;20 if(a[0]
0)a[0]++;//修正a的位数(a+b最多只能进一位) 28 } 29 //输出30 void print(int a[]) //打印输出31 { 32 int i;33 if(a[0]==0){cout<<0<
=1;i--)cout<

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/6992451.html

你可能感兴趣的文章
UVA - 839 Not so Mobile
查看>>
Python考试_第一次
查看>>
[Jquery 插件]活动倒计时,可同步服务器时间,倒计时格式随意设置
查看>>
【財務会計】償却 とは
查看>>
es5和es6对象导出与导入
查看>>
关于timestamp的自动更新
查看>>
【ASP.NET MVC系列】浅谈jqGrid 在ASP.NET MVC中增删改查
查看>>
自制MVC框架的插件与拦截器基础
查看>>
hiho13周暴力求lca
查看>>
poj3311Hie with the Pie状压dp
查看>>
Gvim 配置
查看>>
7-7
查看>>
使用JS分页 <span> beta 2.0 未封装的分页
查看>>
h5-18-文件上传
查看>>
windows虚拟内存(win32)
查看>>
扫描线
查看>>
C#按位操作,直接操作INT数据类型的某一位
查看>>
node
查看>>
初入计算机图形学(二):对bidirectional path tracing的一些困惑
查看>>
关于hive的优化
查看>>