programa que muestre centenas más decenas=unidades

Iniciado por indict, 20 Octubre 2012, 13:41 PM

0 Miembros y 1 Visitante están viendo este tema.

indict

Escribir un programa que muestre todos los números de tres cifras tales
que la suma de las centenas más las decenas sea igual a las unidades.

Como primer condición dado un número abc natural es que
while (abc>=100 && abc<=999)

abc==(a+b=c)

No se que debería poner más para obtener la sucesión.

Gracias por la ayuda

NeoB

Dime si no es lo que buscas.

#include <stdio.h>

int main()
{
int a, b, c;

for (a=0; a<=9; a++)
{
for (b=0; b<=9; b++)
{
for (c=0; c<=9; c++)
{
if ( (a+b) == c )
{
printf("%d%d%d\n", a, b, c);
}
}
}
}
return 0;
}

Antiproton

Si quieres, ademas de como te han dicho, tambien puedes tratarlo como un solo numero.



#include <stdio.h>

int main(){
int numero;
for (numero = 100; numero <= 999; numero++) {
if ((numero/100 + (numero/10)%10) == numero%10) {
printf("%d\n",numero);
}
}
}


Al tratarse de un entero, por defecto en las divisiones con decimales los trunca.
por tanto,
numero/100 = centenas
(numero/10)%10 = decenas (n/10 = ab, ab%10 = b)
numero%10 = unidades



indict

muchas gracias NeoB y Antiproton por la ayuda :DD

rir3760

Considerando que el dígito mas significativo (las centenas) limita las opciones del segundo (las decenas) el programa se puede implementar con dos bucles, de esta forma:
for (i = 1; i <= 9; i++)
   for (j = 0; i + j <= 9; j++)
      printf("%d%d%d\n", i, j, i + j);


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language