小编Dre*_*e V的帖子

当浮点值相等时,如何让for循环继续执行?

现在我正在使用C,我在完成某项任务时遇到了问题.任务是能够输入一个数字,之后将显示所用硬币的价值.我的问题是,假设有0.10美分的价值变化,我的代码将跳过一角钱圈(检查0.10的值是否小于变化的值,然后减去)并继续进行镍...然后,在变化值变为0.05并且变为便士之后将跳过镍,然后将停止在0.01并结束硬币计数使得计数一分钱短并且也比需要更长.

int main(void) {
  float c;

  int k = 0;

  printf("How much change?: \n");
  c = GetFloat();

  //checks for quarters
  for (float q = 0.25; q <= c; k = k + 1) {

    c = c - 0.25;
    printf("q \n");
  }
  //checks for dimes
  for (float d = 0.10; d <= c; k = k + 1) {

    c = c - 0.10;
    printf("d \n");
  }
  //checks for nickels
  for (float n = 0.05; n <= c; k = …
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
69
查看次数

标签 统计

c ×1