Algo asi...
#include <stdio.h>
main {
int numero = 0, residuo = 0;
printf("Introduce Numero: "); scanf("%d",&numero);
res=numero/numero;
if (res == 1)
printf("Es un número válido");
else
printf("Es un caractér , numero inválido");
return (0);
}
Si existe error en la sintaxis, es porque el lenguaje lo use hace como 10 años.. pero la lógica es que si es divisible entre si mismo, es por que es un numero, de lo contrario no lo es.. saludos.