caro Specian
Se eu alterar o valor de c para 1, ou alterar a gama para <5, o problema matem-se:
#include <stdio.h>
int a, c, soma;
int main (){
a = 4;
c = 0;
printf(" 5 Múltiplos de de um numero \n"
while (c < 5){
soma+=a*c;
c++;
printf("Os multiplos do numero escolhido sao: %d =====> %d\n",c,a*c);
}
printf("O valor total da soma dos multiplos do numero escolhido e: %d\n",soma);
getchar ();
}
Não altera o "erro", a última parcela continua a não ser somada, e para além disso crio outro "erro", quando o valor de c era igual a zero c=0;
A soma das parcelas era melhor compreendida, porque somava o primeiro 0 sem lhe mostrar na tela: Na realidade 0 + 4 + 8 + 12 = 24 deixando de fora o 16 | na tela 4 + 8 + 12 + 16 = 24
.
para a=4, c=0, se a<5, o primeiro valor a aparecer na tela é 4.
para a=4, c=1, se a<5, o primeiro valor a aparecer na tela é 8
para a=4, c=2, se a<5, o primeiro valor a aparecer na tela é 12
Essas primeiras parcelas são adicionadas cegamente (não aparecem na tela).
O programa está a somar uma parcela "fantasma" que não aparece na tela (a primeira parcela) e não está a somar a última parcela.
Na tela aparece 4 + 8 + 12 + 16
mas na realidade o programa executa assim: 0 + 4 + 8 + 12 = 24
e no final aparece na tela 4 + 8 + 12 + 16 = 24
Valeu!