Ejercicio de lenguaje C - Multiplicación con sumas sucesivas
Escribir en lenguaje C un programa que:
1º) Pida por teclado dos números (datos enteros).
2º) En el caso de que alguno de ellos sea menor que cero, muestre por pantalla el mensaje:
- "ERROR: Ambos números deben ser mayores o iguales que cero.".
En caso contrario, muestre por pantalla el resultado de multiplicar los dos números introducidos por el usuario.
Nota: No se puede utilizar el operador multiplicación (*).
Si por ejemplo se quiere multiplicar los números 5 y 8, en pantalla se verá:
Cuando al menos uno de los números introducidos es menor que cero, en pantalla se verá, algo similar a:
Solución: anidando un bucle while en un if, dentro de otro if
/* Programa: Multiplicación con sumas sucesivas */
#include <conio.h>
#include <stdio.h>
int main()
{
int acumulador, contador, n1, n2;
printf( "\n Introduzca primer n%cmero (entero): ", 163 );
scanf( "%d", &n1 );
printf( "\n Introduzca segundo n%cmero (entero): ", 163 );
scanf( "%d", &n2 );
if ( n1 >= 0 && n2 >= 0 )
{
acumulador = 0;
if ( n2 != 0 )
{
contador = 1;
while ( contador <= n1 )
{
acumulador += n2;
contador++;
}
}
printf( "\n %d * %d = %d", n1, n2, acumulador );
}
else
printf( "\n ERROR: Ambos n%cmeros deben ser mayores o iguales que cero.", 163 );
getch(); /* Pausa */
return 0;
}
- Obsérvese que, para que el bucle while realice al menos una iteración, ambos números introducidos por el usuario deben ser mayores que cero.