gpt4 book ai didi

c - while 循环不终止 - float 算术

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:38 25 4
gpt4 key购买 nike

<分区>

我正在使用浮点值编写 C 程序,下面是我的代码。

#include<stdio.h>
#include<stdlib.h>
#include<float.h>

int main()
{
int counter = 0;
float quarter = 0.25;
float dime = 0.10;
float nickel = 0.05;
float penny = 0.01;

float change = 0.00;

printf("hi, how much do i owe u?\t");
scanf("%f", &change);

while(change > 0.0)
{
if(change >= quarter)
{
change -= quarter;
printf("quarter %.2f\n", quarter);
}
else if(change >= dime)
{
change -= dime;
printf("dime %.2f\n", dime);
}
else if(change >= nickel)
{
change -= nickel;
printf("nickel %.2f\n", nickel);
}
else if(change >= penny)
{
change -= penny;
printf("penny %.2f\n", penny);
}

counter++;
}

printf("your count is %i\n", counter);

return 0;
}

输出是:

hi, how much do i owe u?    .45
quarter 0.25
dime 0.10
nickel 0.05
penny 0.01
penny 0.01
penny 0.01
penny 0.01
`^C`

我必须按 ctrl c 来终止循环

最后 printf("your count is %i\n", counter); 根本没有执行 - count # of coins used

如果我用 int 替换 float 类型,它工作正常。

请帮忙解决这个问题

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