试图在数组中创建类似二进制的系统-Wont Work

时间:2015-10-29 02:11:57

标签: arrays if-statement for-loop

我对如何进行计算感到困惑,但是当我在一张纸上尝试时,我发现我想继续将剩余部分从左到右分成数组中的下一个值。

这是我的功能:

void getChange(int paid, int cost) {
    int r, k, s, cntr, c = 1, value[8], money[8] = {200, 100, 50, 20, 10, 5, 2, 1};

    r = paid - cost;
    value[0] = r / money[0];
    k = r % money[0];                       
    for (money[c], cntr = 1; cntr < 8; c++, cntr++) {

        if (k !=0){
            value[c] = k / money[c];
            k = value[c] % money[c];
        } else{
            value[c] = 0;
            k = r / money[c + 1];
        }
    }

    int i, j;
    for (i = 0; i < 8; i++) {
        printf("%i \t", money[i]);
    }
    printf("\n \n");

    for (j = 0; j < 8; j++) {
         printf("%i \t ", value[j]);
    }   
}

1 个答案:

答案 0 :(得分:1)

k = value[c] % money[c];我认为你的意思是k = k % money[c];。 else子句也没用。在k == 0时,循环应该会中断。