Well if we are going to post solutions my version is only 6 lines! :D
Code:int isNumber(char *s)
{
int dot=0,num=0,end=0;while(isspace(*s))s++;if(*s=='-'||*s=='+')s++;while(*s)
if(isspace(*s))end=1, s++;else if(end)return 0;else if(isdigit(*s))num=1,s++;
else if(*s=='.')if(dot)return 0;else dot=1,s++;else return 0; return num;
}