gpt4 book ai didi

将十进制数转换为分数

转载 作者:行者123 更新时间:2023-12-01 22:41:03 26 4
gpt4 key购买 nike

我正在尝试将十进制数转换为其分数。小数点后最多有 4 位数字。示例:- 12.34 = 1234/10012.3456 = 123456/10000

我的代码:-

#include <stdio.h>
int main(void) {
double a=12.34;
int c=10000;
double b=(a-floor(a))*c;
int d=(int)floor(a)*c+(int)b;
while(1) {
if(d%10==0) {
d=d/10;
c=c/10;
}
else break;
}
printf("%d/%d",d,c);
return 0;
}

但我没有得到正确的输出,十进制数只有 double 。请指导我应该怎么做。

最佳答案

如果你的 float 是x,那么10000以上的小数分子就是(x + 0.00005) * 10000的整数部分。是否要将分数简化为最简单的项(即除以分子和分母的 gcd)取决于您。

关于将十进制数转换为分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13364425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com