Suponha que um caixa disponha apenas notas de 100, 10, 1 reais. considerando que alguém está pagando uma compra, faça um algorítimo que determine e escreva o número mínimo de notas que o caixa deve fornecer como troco. Escreva também o número de cada tipo de nota a ser fornecido como troco. Suponha que o sistema monetário não ultilize centavos (ou seja, o valor da compra é inteiro).
A ideia básica da questão é pegar o resto das divisões. Então depois de pegar o número só pegar o resto de uma divisão de 10 do mesmo, ou seja, 123 % 10 = 3, com isso terá o resultado 3 (3 notas de 1 real), depois divida por dez (123 / 10 = 12), seguindo 12 % 10 = 2, 2 notas de 10 reais. O resultado da divisão 12 / 10 = 1 terá o resultado de quantas notas de 100.
Para começar temos que ler o valor do troco:
printf("INSIRA O VALOR: ");
scanf("%d",&v);
Como os valores das notas são múltiplos entre si, o melhor é sempre que der dar um nota mais alta:
n100 = v/100;
v = v%100;
n10 = v/10;
n1 = v%10;
Agora basta-nos escrever o resultado:
printf("NUMERO MINIMO TOTAL: %d\n",n1+n10+n100);
printf("NUMERO de 100: %d\n",n100);
printf("NUMERO de 10: %d\n",n10);
printf("NUMERO de 1: %d\n",n1);
Juntando tudo em um programa só, temos:
#include <stdio.h>
int main()
{
int n1,n10,n100,v;
printf("INSIRA O VALOR: ");
scanf("%d",&v);
n100 = v/100;
v = v%100;
n10 = v/10;
n1 = v%10;
printf("NUMERO MINIMO TOTAL: %d\n",n1+n10+n100);
printf("NUMERO de 100: %d\n",n100);
printf("NUMERO de 10: %d\n",n10);
printf("NUMERO de 1: %d\n",n1);
return 0;
}
Para escrever sua resposta aqui, entre ou crie uma conta
Linguagem e Lógica de Programação
Compartilhar