Ejercicio de lenguaje C - Dígitos de un número entero
Escribir en lenguaje C un programa que:
1º) Pida por teclado un número (dato entero).
2º) Muestre por pantalla el número de dígitos que tiene el número introducido por el usuario.
Nota: Si el número introducido tiene 4 ó más dígitos, se mostrará el mensaje: "Tiene más de 3 dígitos".
Por ejemplo, en pantalla se verá:

Si el número introducido tiene más de 3 dígitos, podremos ver, por ejemplo:

El programa también debe funcionar para números enteros negativos:

Solución: anidando varias instrucciones if else
/* Programa: Dígitos de un número entero */
#include <conio.h>
#include <stdio.h>
int main()
{
int n;
printf( "\n Introduzca un n%cmero entero: ", 163 );
scanf( "%d", &n );
if ( n >= -9 && n <= 9 )
printf( "\n Tiene 1 d%cgito.", 161 );
else
if ( n >= -99 && n <= 99 )
printf( "\n Tiene 2 d%cgitos.", 161 );
else
if ( n >= -999 && n <= 999 )
printf( "\n Tiene 3 d%cgitos.", 161 );
else
printf( "\n Tiene m%cs de 3 d%cgitos.", 160, 161 );
getch(); /* Pausa */
return 0;
}
- Véase que, en el código de este programa, todos los caracteres abrir y cerrar llave ({}) de los if else anidados, se han podido omitir.