ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:45.57KB ,
资源ID:21191092      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21191092.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大数运算Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大数运算Word文档格式.docx

1、int Compare(char a,char b)/比较字符串的大小,方法不同于strcmp函数,类似于整型常量的比较 int lena,lenb,i; lena=strlen(a); lenb=strlen(b); if(lena return 1; else if(strcmp(a,b)=0) else for(i=0;lena; if(aibi) return 1; if(ailenb?lena: di=ai+bi+di; di+1=di+1+di/10; di=di%10; /若高位进 while(dk) k+; while(!dk-1) k-;/001+0003=4 /将整型数组逆

2、着转变并赋值给c字符型数组 for(j=0;j=0) /若被减数大于等于减数 for(i=0; ai=a1lena-1-i- bi=b1lenb-1-i- flag=0;/结果正的标志 /若被减数小于减数 ai=b1lenb-1-i- bi=a1lena-1-i- flag=1;/结果负的标志 /大数减小数 if(ai9) /若最后一个元素大于 ai=ai-1/10; i+; /将得到的整型数组逆置赋给字符串i; cj=ai-j-1+ if(Judge(c)/若积全为,则只输出一个/高精度乘法-高精度乘以高精度void BigNumMultiBig(char a1,char b1) int a

3、1000=0,b1000=0,d2000=0; bi=b1lenb-i-1- /计算乘数从低位到高位以此乘以被乘数的低位到高位 for(j=0; di+j=di+j+ai*bj; di+j+1+=di+j/10; di+j=di+j%10; /根据高位是否为判断整型数组的位数 k=lena+lenb; while(! k-; /积转化为字符型 ci=dk-1-i+ if(Judge(c)/若积全为,则只输出一个 strcpy(c,/整型常量的阶乘void BigNumFact(int x) int i,k,m=0,a1000=0; a0=1; for(;x;x-) /m为在求阶乘过程中a的元素

4、个数 for(k=i=0;=m; k=k+ai*x;/数组各个元素均乘以x(x递减),以完成阶乘的运算 ai=k%10; k/=10; while(k) a+m=k%10; /阶乘的结果转化为字符型 ci=am-i+ if(Judge(c)/若结果全为,则只输出一个/1-整型常量的阶乘和void BigNumFactAdd(int t) int i; char sum2000,d2000; /对字符串进行初始化 memset(d,0,sizeof(d); memset(sum,0,sizeof(sum); /分别求出相应i的阶乘然后相加 for(i=t;i0;i-) BigNumFact(i)

5、; strcpy(d,c); memset(c,0,sizeof(c); BigNumberAdd(d,sum); strcpy(sum,c); strcpy(c,sum);/将结果赋值给全局变量,进行输出/高精度的乘方,幂数为整型常量void BigNumInvol(char a1,int b1) char temp1000; strcpy(temp,a1);/注意乘方是自己乘自己,而不是结果乘结果 for(i=2;b1; BigNumMultiBig(a1,temp); strcpy(temp,c);/将c清空,防止出现错误 /进行最后一次乘法 BigNumMultiBig(a1,temp

6、); /高精度除法-高精度除以低精度,只产生余数int BigNumDividSmall(char a1,int b1)b1) return 0; int i,j,k,flag=0,a1000=0; char b2000; memset(b,0,sizeof(b); k=strlen(a1); ai=a1i- z=0; z=ai+z*10;/除法过程 bi=z/b1+ z=z%b1; i=j=0; while(bi+= for(i=i-1; cj+=bi;/高精度除法-高精度除以高精度,只产生余数void BigNumDividBig(char a1,char b1) char a1000,b

7、1000,time1000; int lena1,lentime,i,j,k,flag=0; memset(arr,0,sizeof(arr); /若被除数小于除数,则商为0,余数为被除数 if(Compare(a1,b1) BigNumberSub(b,b1); strcpy(b,c); memset(c,0,sizeof(c); timelentime+; flag=1;/控制time的元素的位置 if(flag)/将商转换为字符 timelentime+= else/当被除数前几位小于除数,商补0 timelentime=strcmp(b,)/若b为 j=0; else/继续在b的后面加

8、值 j=strlen(b); lentime+; k=0;lentime; if(timei! break;/找到time数组中第一个不为0的位置 for(j=i; ck+=timej; strcpy(arr,b); if(Judge(c) if(Judge(arr) strcpy(arr,int main() int flag=0,a3,k,i; char a21000,b21000; printf(说明:该程序适用于正整数的高精度运算,并且运算结果的位数在位以内。n while(1) printf(/*/n1、两数相加n2、两数相减n3、大数与低精度相乘n4、大数与大数相乘n5、大数的阶乘

9、n6、大数的阶乘和n7、大数的乘方n8、大数除以低精度n9、大数除以大数n10、退出n请输入你想要进行的操作数: scanf(%d,&k); getchar(); switch(k) case 1: printf(请输入您想要进行运算的两个数字: scanf(%s%s,a2,b2); BigNumberAdd(a2,b2);%s+%s=%snn,a2,b2,c); break; case 2: BigNumberSub(a2,b2);%s-%s=%snn case 3:%s%d,a2,&a3); BigNumMultiSmall(a2,a3);%s*%d=%snn,a2,a3,c); case

10、 4: BigNumMultiBig(a2,b2);%s*%s=%snn case 5:请输入您想要的阶乘数: BigNumFact(a3);%d!=%snn,a3,c); case 6:a3) printf(0!=1nn BigNumFactAdd(a3); for(i=1;=a3;,i); if(i!=a3) printf(+,c); case 7: BigNumInvol(a2,a3);%s%d=%snn case 8: if(BigNumDividSmall(a2,a3) if(!z)%s/%d=%snn else%s/%d=%s%ldnn,a2,a3,c,z); else0不能作除数。nn case 9: if(Judge(b2) BigNumDividBig(a2,b2);Judge(arr)%s/%s=%s%snn,a2,b2,c,arr);%s/%s=%snn case 10: flag=1;感谢您的使用,再见。 default:对不起,您的输入有误,请重新输入。 if(flag) return 0;代码效果展示

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1