高精度除法(高精除低精)(C语言实现)

高精度,是学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;
}


这就是高精度除法(高精除低精)的整段代码,
希望大家在看了这篇文章后理解和会使用高精度除法(高精除低精)的运算了


希望大家喜欢这篇文章!!!
如有问题请留言,谢谢!!!

>>>我的博客<<<

猜你喜欢

转载自blog.csdn.net/sty20030818/article/details/83041284
今日推荐