この問題を(JavaScriptで最初に)解決しようとしていますが、後でCS50のCに変換する必要があります。アイデアのシナリオでは、問題は0に達するまで機能します。条件の1つが満たされず、次のif/elseステートメントにジャンプするときに問題が発生しています...しかし、なぜコンピューティングではないのか分かりません。一見条件が2番目のブロックを過ぎて実行していない場合
function greedy(){
var change = prompt("How much do I owe you? ");
var counter = 0;
var div, rem;
var quarter = 0.25;
var dime = 0.10;
var nickel = 0.5;
var penny = 0.1;
if (change > quarter){
div = Math.floor(change/quarter);
rem = parseFloat((change % quarter).toFixed(3));
counter += div;
console.log(counter);
console.log(rem);
}
if (rem > dime && rem !== 0){
div = Math.floor(rem/dime);
rem = parseFloat((rem % dime).toFixed(3));
counter += div;
console.log(counter);
console.log(rem);
}
else if (rem > nickel && rem !== 0){
div = Math.floor(rem/nickel);
rem = parseFloat((rem % nickel).toFixed(3));
counter += div;
console.log(counter);
console.log(rem);
}
else if (rem > penny && rem !== 0) {
div = Math.floor(rem/penny);
rem = parseFloat((rem % penny).toFixed(3));
counter += div;
console.log(counter);
console.log(rem);
} else {
console.log(counter);
}
}
greedy();
デバッガを取り出してデバッグします。 – zerkms
提案のzerkmsをありがとう。私はしようとしましたが、ループの外に存在するだけで、何が原因なのか分かりません。 – Lucky500
これで、あなたがやっていたことがデバッグではないことがわかりました。あなたがデバッグするとき、**すべての変数**があなたが正確に期待する値を持っていることを確認してください。あなたはそれをしていない¯\\ _(ツ))/¯ – zerkms