【问题标题】:CS50 Pset 1 Cash IssueCS50 Pset 1 现金发行
【发布时间】:2020-10-05 18:04:28
【问题描述】:

我是全新的,只是试图让这个基本代码(不是最好的代码)工作。当我运行它时,它只会给出一个空白的答案。

#include <stdio.h>
#include <cs50.h>
#include <math.h>

int main(void)
{
    float dollars;
    do
    {
        dollars = get_float("Change owed: ");
    } 
    while (dollars <= 0);
        
    int cents = round(dollars * 100);
    int coins = 0;

    while (cents >= 25)
    ;
         {
           cents = cents - 25;
           coins ++;
        }

        while (cents >= 10)
        ;
        {
            cents = cents - 10;
            coins ++;
        }

        while (cents >= 5)
        ;
        {
            cents = cents - 5;
            coins ++;
        }
        while (cents >= 1)
        ;
        {
            cents = cents - 1;
            coins ++;
    }
       printf("I have %i coin(s)\n)", coins);
    
}

【问题讨论】:

标签: c cs50


【解决方案1】:

挂在这里

while (cents >= 25)
;

while 语句仅在它是 do-while 循环的一部分时才以分号 ; 终止。 while 循环挂起,因为cents 的值永远不会改变(或者至少有一个循环挂起,具体取决于输入的数量)。从 while 中删除 ; 看看会发生什么。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多