信息学奥赛一本通算法(C版)基础算法高精度计算.doc

上传人:李医生 文档编号:6179092 上传时间:2020-09-18 格式:DOC 页数:4 大小:16KB
返回 下载 相关 举报
信息学奥赛一本通算法(C版)基础算法高精度计算.doc_第1页
第1页 / 共4页
信息学奥赛一本通算法(C版)基础算法高精度计算.doc_第2页
第2页 / 共4页
信息学奥赛一本通算法(C版)基础算法高精度计算.doc_第3页
第3页 / 共4页
信息学奥赛一本通算法(C版)基础算法高精度计算.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《信息学奥赛一本通算法(C版)基础算法高精度计算.doc》由会员分享,可在线阅读,更多相关《信息学奥赛一本通算法(C版)基础算法高精度计算.doc(4页珍藏版)》请在三一文库上搜索。

1、高精度加法(大位相加)#include using namespace std;int main() char a1100,b1100; int a100,b100,c100;/a,b,c分别存储加数,加数,结果 int lena,lenb,lenc,x,i; memset(a,0,sizeof(a);/数组a清零 memset(b,0,sizeof(b);/数组b清零 memset(c,0,sizeof(c);/数组c清零 /gets(a1); /gets(b1); /getchar(); while(scanf(%s%s,&a1,&b1)!=EOF) lena=strlen(a1); le

2、nb=strlen(b1); for(i=0;i=lena;i+) alena-i=a1i-0;/将数串a1转化为数组a,并倒序存储 /ai=a1lena-i-1-48; for(i=0;i=lenb;i+) blenb-i=b1i-0;/将数串a1转化为数组a,并倒序存储 /bi=b1lenb-i-1-48; lenc=1; /lenc表示第几位 x=0; /x是进位 while(lenc=lena|lenc=1;i-) coutci; coutendl; return 0;高精度减法(大位相减)#include using namespace std;int main() char n25

3、6,n1256,n2256; int a256,b256,c256; int lena,lenb,lenc,i; memset(a,0,sizeof(a); memset(b,0,sizeof(b); memset(c,0,sizeof(c); while(scanf(%s%s,&n1,&n2)!=EOF)/n1为被减数,n2为减数 if(strlen(n1)strlen(n2)|(strlen(n1)=strlen(n2)&strcmp(n1,n2)n2时,返回正整数;n1n2时,返回负整数 strcpy(n,n1);/将n1数组的值完全赋值给n数组 strcpy(n1,n2); strcpy(n2,n);/处理被减数和减数时,交换被减数和减数 cout-;/交换了减数和被减数,结果为负数 lena=strlen(n1); lenb=strlen(n2); for(i=0;i=lena;i+) alena-i=(int)(n1i-0);/被减数放入数组a中 for(i=0;i=lenb;i+) blenb-i=(int)(n2i-0);/减数放入数组b中 i=1; while(i=lena|i=lenb) if(ai1) lenc-;/最高位的0不输出 for(i=lenc;i=1;i-) coutci;/输出结果 coutendl; return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1