#include <stdio.h>
int main()
{
int a , b , i;
int cnt = 0;
const int number = 200;
int count[number];
scanf("%d/%d",&a ,&b);
if(a<b && a>0){
printf("0.");
}
for (i = 0; i < number; i++)
{
count[i] = 0;
}
//商 余数
int merchant = 1, remainder;
a *= 10;
for (i = 0; i < 200; i++)
{
if (merchant != 0)
{
merchant = a % b;
remainder = a / b;
count[i] = remainder;
a = merchant * 10;
cnt ++;
}else {
break;
}
}
for (i = 0; i < cnt; i++)
{
printf("%d", count[i]);
}
return 0;
}
浮点数精度问题,小数点后保留200位,如果是有限不循环小数,输出完所有有效位就行
最新推荐文章于 2024-07-13 15:11:03 发布