[ Foro de C ]

Ayuda con un ejercicio sencillo (Operadores)

20-Apr-2021 19:36
Invitado (An?nimo)
2 Respuestas

Pues el ejercicio me pide que imprima los 5 primeros múltiplos de un número dado por teclado, lo cual lo tengo ya completado, y ahora me pide que sume esos 5 múltiplos que se obtienen. El problema está en que cuando lo ejecuto en https://www.onlinegdb.com/ la suma no es la correcta. ¿Alguien que pueda ayudarme? Este es el código

#include <stdio.h>
#include <stdlib.h>
int main()
{
int numero, contador, multiplo, suma;
printf("Introduce el numero: ");
scanf("%d",&numero);
multiplo = numero;
contador = 1;
suma = 0;
printf("Los primeros 5 multiplos del numero %d son: ",numero);
while (contador <= 5)
{ printf("%d ",multiplo);
multiplo = multiplo + numero;
contador = contador + 1;
suma = suma + multiplo;
}
 printf("\nLa suma de los primeros 5 multiplos del numero %d es: %d",numero ,suma);
return 0;
}


23-Apr-2021 22:25
Invitado (dan)

hola anónimo

el problema lo tienes en multiplo que ya tiene un
valor antes de entrar en el bucle y cuando acumula
lo hace con un segundo valor no deseado

tu código podia quedar tal que ...
https://www.onlinegdb.com/ryvncixPd

para el número de repeticiones así como otros números
"mágicos" es preferible usar define por ej #define CNT ya
que queda más claro y puedes modificarlo claramente
desde un solo punto evitando errores. por ej tienes el 5
en 20 sitios y luego te dicen que son 30 los múltiplos, en
un programa de 600 líneas, ves y busca jajajaj que cinco
es y cual no

normalmente los bucles con contador se encarga for
por ej for(int i=0; i<CNT; i++) { ... } queda mas limpio y
claro

bueno el programa estaba casi bien

suerte en el próximo ;-)


25-Apr-2021 22:45
Invitado (jordi)

hola anónimo

el problema es que multiplo le asignabas un valor
antes del bucle y otra vez dentro del bucle y
finalmente suma contenia un multiplo de más

https://www.onlinegdb.com/HylIOVIQDu

suerte ;-)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)