-7
該算法輸入一個浮動值i
,該值代表金額並返回支付該金額所需的最小硬幣數量並返回整數c。有人可以檢查算法
值C1 = 25,C 2 = 10,C 3 = 5,C4 = 1
我的代碼工作完全所有用於輸入除了當i = 4.2
它應該返回18分的硬幣,而其返回22枚硬幣
i=i*100;
while (i>0) {
if(i>=25) {
c = (int) i/25;
i= (int) i%25;
}
else if (i>=10 && i<25) {
c = c + (int) i/10;
i=(int) i%10;
}
else if(i>=5 && i<10) {
c = c + (int) i/5;
i = (int) i%5;
}
else if(i<5) {
c = c + (int) i/1;
i = (int) i%1;
}
}
printf("%d\n",c);
1.格式化代碼,使其可讀。 2.使用調試器 – 2014-09-03 20:13:19
哇,居中?我認爲GNU風格很難閱讀。 – 2014-09-03 20:14:01
如果需要考慮等值,例如:else if(i> = 10 && i <25)',範圍是[ini,fin],開始時關閉,結束時開放。 – NetVipeC 2014-09-03 20:19:58