c - CS50 Pset 1 现金发行
问题描述
我是全新的,只是试图让这个基本代码(不是最好的代码)工作。当我运行它时,它只是给出一个空白的答案。
#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);
}
解决方案
它挂在这里
while (cents >= 25)
;
语句仅在它是 do-while 循环的一部分时才while
以分号终止。;
该while
循环挂起是因为cents
never 的值发生变化(或者至少有一个循环挂起,具体取决于输入的数量)。从 while中删除;
,看看会发生什么。
推荐阅读
- python - 从今日图片中抓取维基百科内容
- c-preprocessor - 如何执行 C 预处理器宏的逐步扩展?
- django - 如何将detailview字段绑定到django中的表单字段并保存到数据库中
- xamarin.forms - 在 Xamarin 表单弹出窗口中包含标签页
- node.js - 将 node_modules 资产插入我的项目
- sql-server - 设计存储过程以处理具有不同格式和逻辑的多个表
- python - 如何在熊猫数据框中选择两个日期内的行?
- c++ - 试图创建一个基类的对象数组,然后在这个数组中创建派生类的对象,但是没有成功
- azure - 哪种消息服务可与 Azure 函数扇出模式一起使用而无需扇回?
- docker - Docker 应用的 Nginx SSL