[讨论]
你的这些成果很不错,关于这方面我也有所研究,首先我写出关于两整数相乘的算法,与大家一同学习,如下
#include<stdio.h>
#include<string.h>
main()
{
int i,j,k,m,n;
static char str1[100],str2[100];
static int a[100],b[100],c[200];
gets(str1); gets(str2);
m=strlen(str1)-1;
n=strlen(str2)-1;
for(i=0;i<=m;i++)
a[i]=str1[m-i]-'0';
for(i=0;i<=n;i++)
b[i]=str2[n-i]-'0';
for(i=0;i<=m;i++)
for(j=0;j<=n;j++)
c[i+j]+=a[i]*b[j];
for(i=0;i<m+n;i++)
{ k=c[i]/10; c[i]%=10;c[i+1]+=k; }
for(i=m+n;i>=0;i--)
printf("%d",c[i]);
getch();
}
在这个基础上,就可以编出两任意大小的实数相乘与相除的程序。其中两任意大实数相除我已经设定为保留小数500位,如果想保留更多位的话,只要稍作修改即可。
kaht7NdG.rar
(16.4 KB)
[分享]任意位数整数运算,求2的n次方,圆周率的计算,这是本人最近无聊之时的练习,欢迎测试