p.s.个人收录用
题目描述
计算A/B的精确值,设A,B是以一般整数输入,计算结果精确小数后20位
(若不足20位,末尾不用补0) 。
输入
输入2个普通的整数A和B
输出
输出A/B的值,保留20位小数,如果不足20位,末尾不用补0,格式见样例
样例输入 Copy
【样例1】 4 3 【样例2】 6 5
样例输出 Copy
【样例1】 4/3=1.33333333333333333333 【样例2】 6/5=1.2
提示
输出结果如果小数点后只有一个0,需要输出X.0
代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <string.h>
//求A/B高精度值
int main()
{
int a, b;
scanf("%d%d", &a, &b);
int s[200];
int k = a / b;
int d, e, f;
d = a % b;
for (int i = 0; i < 20; i++)
{
f = d * 10 % b;
e = d * 10 / b;
s[i] = e;
d = f;
}
int i;
for (i = 199; i >= 0; i--)
{
if (s[i])
break;
}
printf("%d/%d=%d.", a, b, k);
if (i == -1)
printf("0\n");
for (int j = 0; j <= i; j++)
{
printf("%d", s[j]);
}
}