Well if we are going to post solutions my version is only 6 lines!
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; }