【笔试时遇到的一道题】
今天陪同学去参加北京广联达的笔试,遇到了这样一道题,发给大家做做,就当是练练手了吧!题目:
编写一个函数IsFloat,该函数的作用是判断一个字符串是否是浮点型数据(不考虑科学计数法)
如:“12.2541”是浮点数,“.012drde”不是浮点数
程序代码:bool IsFloat(const char *str)
{
int i = 0, j = 0;
while(str[i])
{
if(str[i] == '.')
{
j++;
if(j > 1 || i+1 == strlen(str) || i == 0)
{
return false;
}
else
{
i++;
continue;
}
}
if(str[i] >= '0' && str[i] <= '9')
{
if(i == 0 && str[i] == '0' && str[i+1] != '.')
return false;
i++;
}
else
{
return false;
}
}
return true;
}
