jacknpoe

Calculando parcelas com soma exata

Nov 12th, 2025
958
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. // define os valores de um parcelamento
  2.  
  3. #include <stdio.h> // printf/scanf
  4. #include <stdlib.h>  // malloc/free
  5.  
  6. int main() {
  7.     long centavos, numero, iterador, atual, *parcelas;
  8.     double reais;
  9.  
  10.     // pede um valor do total em reais
  11.     printf("Valor total em reais: ");
  12.     scanf("%lf", &reais);
  13.     centavos = reais * 100;  // calcular em centavos é "redondo"
  14.  
  15.     // pede o número de parcelas
  16.     printf("Número de parcelas: ");
  17.     scanf("%ld", &numero);
  18.  
  19.     // aloca o número de parcelas
  20.     parcelas = (long *) malloc(numero * sizeof(long));
  21.  
  22.     // determina o valor de cada parcela, sempre deduzindo do total o que já foi calculado
  23.     for(iterador = numero - 1; iterador >= 0; iterador--) {
  24.         atual = centavos / (iterador + 1);  // o valor atual é a parte inteira da divisão
  25.         parcelas[iterador] = atual;
  26.         centavos -= atual;  // aqui, na última iteração, será exatamente a quantidade que faltava
  27.     }
  28.  
  29.     // imprime cada parcela
  30.     for(iterador = 0; iterador < numero; iterador++) {
  31.         printf("Parcela %d: R$ %.2f.\n", iterador + 1, ((double) parcelas[iterador]) / 100.0);
  32.     }
  33.  
  34.     // libera a memória e sai do programa com o código 0 (sucesso)
  35.     free(parcelas);
  36.     return 0;
  37. }
Tags: parcelamento
Advertisement
Add Comment
Please, Sign In to add comment