gpt4 book ai didi

c - 如何将 float 分成2或3份

转载 作者:行者123 更新时间:2023-11-30 21:05:46 24 4
gpt4 key购买 nike

所以我刚刚收到了我的论文。它表示如果输入数字是 0.001001001 (重复),它将打印 0.001...,如果是 0.015015015,则打印 0.015。 .. 作为打印,如果数字是 998 它应该是 0.998... 我的想法是将它分成两部分,但我仍然无法弄清楚。谢谢

scanf("%f",&num1);
scanf("%f",&num2);
scanf("%f",&num3);

num1 = floor(1000*(num1/999))/1000;
num2 = floor(1000*(num2/999))/1000;
num3 = floor(1000*(num3/999))/1000;

printf("%.3f...\n",num1);
printf("%.3f...\n",num2);
printf("%.3f...\n",num3);

输入 = 3 个整除 999 的整数,值低于 999

输出=结果,如果结果重复(0.001001001)那么它将打印出0.001...

示例:

输入=输出

3 = 0.003...

10 = 0.010...

998 = 0.998...

注意:我在地板上尝试过,所以我猜我的逻辑有问题

最佳答案

由于该值低于 999,不包括999,因此只需读取整数,然后用0.%03d... 打印它:

int num;

scanf("%d", &num);
printf("0.%03d...\n", num);

转换规范%03d将以10为基数打印给定的整数,前面添加前导零,以便它至少有3个字符宽。对于 3,它将打印 003,对于 10,它将打印 010,对于 976,它将打印 976

您具体不能执行此操作的 float 。计算机中的 float 是二进制数,它们不能精确地生成小数……也不能实现无限精度。

关于c - 如何将 float 分成2或3份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52784022/

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