CS50 Pset 1现金发行

时间:2020-10-03 19:39:47

标签: c cs50

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

#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);
    
}

1 个答案:

答案 0 :(得分:0)

它挂在这里

while (cents >= 25)
;

while语句只有在do-while循环中时才以分号;终止。 while循环正在挂起,因为cents的值从未改变(或至少一个循环挂起,具体取决于输入的数量)。从那一会儿取出;,看看会发生什么。