求A/B的精确值

2、求A/B高精度值
【问题描述】
计算A/B的精确值,设A,B是以一般整数输入,计算结果精确小数后20位
(若不足20位,末尾不用补0) 。
【输入样例】ab.in
4 3
【输出样例】ab.out
4/3=1.33333333333333333333
【输入样例】ab.in
6 5
【输出样例】ab.out
6/5=1.2

#include<cstdio>
#include<cstring>
using namespace std;
int c[30];
int main()
{
	int a,b,i,k;
	memset(c,0,sizeof(c));
	scanf("%d %d",&a,&b);
	c[0]=a/b;//来确定第非小数位
	a=(a%b)*10;//根据除法计算形式得出
	printf("%d",c[0]);
	printf(".");
	for(i=1;i<=20;i++)
		{
			c[i]=a/b;
			a=(a%b)*10;
			if(c[i]==0)//本题适用
				break;                                             
		}
	for(k=1;k<i;k++)	 
		printf("%d",c[k]);
}

猜你喜欢

转载自blog.csdn.net/qq_43352073/article/details/86761360