0

私は c で mod 演算子を使用してコインの額面の変更を計算する方法を教えられました。たとえば、22 ドルが与えられた場合、10 ドル、5 ドル、2 ドル、1 ドルがその 22 を構成する数を計算する必要があります。

22/10 = 2 of $10
22%10 = 2
Therefore since only $2 left:
2/5 = 0
2%5 = 2
2/2 = 1 of $2
2%2 = 0 
So 2 $10 and 1 $2.

私の質問は、これをコードとしてどのように正確に記述して、任意の量の変更に対して機能させることができるかということです。私はまだ初心者なので、少し苦労しています。助けていただければ幸いです。

4

1 に答える 1

3

紙幣/硬貨の最高額が 10 ドルの場合 (些細なことに聞こえるかもしれませんが、私は米国市民ではありません):

int vals[] = { 10, 5, 2, 1 };
int amount = 22;

for (int i = 0; i < sizeof(vals) / sizeof(vals[0]); i++) {
    printf("%d piece of $%d\n", amount / vals[i], vals[i]);
    amount %= vals[i];
}
于 2013-04-16T17:34:13.763 に答える