Разделить оплату на наименьшее количество счетов США - PullRequest
0 голосов
/ 22 февраля 2019

Мне нужно решить следующую проблему:

Напишите программу, которая просит пользователя ввести сумму в долларах США и показывает, как ее оплатить, используя наименьшее число: 20, 10, 5 и 1 доллар.Счета.

Я не знаю, как извлечь изменение первого делительного счета на сумму 20, а затем продолжить с 10, 5 и 1.

Я написал следующий код, ноне выполняет мой квест:

#include <stdio.h>

int main(void)
{
    int value1, value2, value3, value4, bill, change;
    printf("Put the bill value: ");
    scanf_s("%d", &bill);

    value1 = bill/ 20;
    rest = bill- (bill/ 20);
    value2 = bill /10 //  Tried with this but not  working:(bill-(bill/20))/10;
    value3 = bill/ 5;
    value4 = bill/ 1;

    printf("The amount is: %d$. \n", bill);

    printf("change=%d", change);
    /*printf(" $20 Bill:  \n", value1);
    printf("$10 Bill:  \n", value2);
    printf("$5 Bill: \n", value3);
    printf("$1 Bill:  \n", value4);*/

    return 0; 
}

Мне бы очень помогло, если бы вы могли объяснить мне, как правильно решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Что-то в этом роде

#include <stdio.h>

int main()
{
  int v;

  if ((scanf("%d", &v) == 1) && (v > 0)) {
    int bills[] = { 20, 10, 5, 1 };
    size_t i;

    for (i = 0; i != sizeof(bills) / sizeof(int); ++i) {
      int n = v/bills[i];

      if (n != 0) {
        printf("%d*%d$ ", n, bills[i]);
        v %= bills[i];
      }
    }

    putchar('\n');
  }
}

Компиляция и выполнение:

pi@raspberrypi:/tmp $ gcc -Wextra r.c
pi@raspberrypi:/tmp $ ./a.out
123
6*20$ 3*1$ 
pi@raspberrypi:/tmp $ ./a.out
1234
61*20$ 1*10$ 4*1$ 
0 голосов
/ 22 февраля 2019

У вас проблема с вычислением значения rest.Поэтому, пожалуйста, используйте это решение:

rest  = bill;
value1 = rest / 20;
rest = rest % 20;
value2 = rest /10 ;
rest = rest % 10;
value3 = rest / 5;
rest = rest % 5;
value4 = rest / 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...