高精度,是学C语言漫长的路上必须要学的一类程序
>>>高精度加法(C语言实现)<<<
>>>高精度减法(C语言实现)<<<
>>>高精度乘法(高精乘低精)(C语言实现)<<<
>>>高精度乘法(高精乘高精)(C语言实现)<<<
>>>高精度除法(高精除低精)(C语言实现)<<<
源代码&注释
#include<stdio.h>
#include<string.h>
char s[1000000];
int a[1000000],b[1000000];
int len,lenb;
int d,yu;
/*-------------高精度除法(低)--------------*/
void chu_di() //高精除低精
{
int yu=0;
memset(a,0,sizeof(a)); //清空数组a
memset(b,0,sizeof(b));
len=strlen(s); //s的长度
for(int i=0;i<=len-1;i++)
a[i+1]=s[i]-'0';
for(int ii=1;ii<=len;ii++)
{
b[ii]=(yu*10+a[ii])/d;
yu=(yu*10+a[ii])%d;
}
int lenb=1;
while(b[lenb]==0&&lenb<len)
lenb++;
printf("结果:\n");
printf("%s ÷ %d = ",s,d);
for(int j=lenb;j<=len;j++)
printf("%d",b[j]);
if(yu!=0)
printf("......%d",yu);
printf("\n");
} //高精度除法(高)你懂了吗
void print() //输出函数
{
printf("高精度除法(低)(By STY)\n\n");
printf("退出请按“Ctrl+Z”(在键盘上),并按回车,谢谢使用!\n");
printf("请输入两个数字:\n");
printf("数字:(用空格隔开)\n");
printf("(前一个数字是大数,后一个不是)\n");
}
int main()
{
print();
while (scanf("%s%d",s,&d)!=EOF)
{
chu_di(); //引用高精度除法函数
printf("\n\n");
print();
}
return 0;
}
这就是高精度除法(高精除低精)的整段代码,
希望大家在看了这篇文章后理解和会使用高精度除法(高精除低精)的运算了
希望大家喜欢这篇文章!!!
如有问题请留言,谢谢!!!