C语言(计算出的结果精确到小数点后1000位)

大家知道,C语言中存放一个小数,其精确到的位数有限,如double型数据有效位数为15到16位,这还是整个数据的有效位数,小数位还没有这个位数。如果要计算一个数,要求计算出的结果精确到小数点后1000位,如何做到呢?比如计算20.0/7,要求输出其结果,并保留到小数点后100位,这可以用一个循环来做,具体思路是:第一步:定义并赋值int x=20,y=7;第二步:输出k=x/y和一个小数点。第三步:循环执行x=(x-k*y)*10;k=x/y;并输出k。

#include
int main()
{
   int x=20,y=7;
   int c,i=0,h,k;
   c=x/y;
   printf("%d.",c);
  while(i<100)
  {  x=(x-k*y)*10;
     k=x/y;   
	 printf("%d",k);
	 i++;
	 }
  printf("/n");
  return 0;
}

C语言(计算出的结果精确到小数点后1000位)_第1张图片

你可能感兴趣的