21xrx.com
2024-11-10 00:46:54 Sunday
登录
文章检索 我的文章 写文章
C语言中实现小数转分数方法及代码
2023-06-16 13:16:59 深夜i     --     --
C语言 小数 分数

在C语言中,如果我们想将小数转化成分数,就可以用以下方法实现。我们可以先将小数分数化,然后再将分数约分,得到最简分数。

代码如下:


#include

int gcd(int a, int b) {

  if (b == 0) return a;

  return gcd(b, a % b);

}

void fraction(double num) {

  int a = num * 10000;

  int b = 10000;

  int c = gcd(a, b);

  a /= c;

  b /= c;

  printf("%d/%d", a, b);

}

int main() {

  double num = 0.666666;

  fraction(num);

  return 0;

}

此处假设需要转化的小数为0.666666。

在代码中,gcd()函数是求最大公约数的函数,我们可以使用递归来实现。fraction()函数是将小数转化成分数的函数,将小数转化成分数,分子取小数乘以10000的值,分母取10000,然后约分。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复