gpt4 book ai didi

c - 在 C 中求余数时遇到困难

转载 作者:行者123 更新时间:2023-11-30 19:56:05 25 4
gpt4 key购买 nike

程序应该将用户输入的分钟数转换为天、小时和分钟

 #include <stdio.h>

int main(void) {



int input_minutes, minutes, r_minutes;
int days, hours;
float r_days, r_hours;


printf("Enter a number of minutes: ");
scanf("%d", &input_minutes);

days = input_minutes / 1440;

这里我想得到 input_months 除以 1440 的余数,但编译时却得到 160.00007。

 r_days =  input_minutes % 1440;
hours = r_days * 24;
r_hours = (r_days * 1440) - hours;
minutes = r_hours * 60;

printf("r_days = %f", r_days);

printf("This represents:%d days, %d hours, %d minutes\n",days, hours, minutes);

最佳答案

这里没有使用浮点类型的正当理由(不涉及除法,除了整数模)。使用 float 只会导致精度损失,并导致无法正确表示和显示整数,正如您所经历的那样。

快速修复:

int r_days, r_hours;

printf("r_days = %d", r_days);

另请参阅:Is floating point math broken?

关于c - 在 C 中求余数时遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42077408/

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