📄 fsmnum.cpp
字号:
#include "stdio.h"
int isRealNumber(char *p)
{
int state=1;
int resualt=-1;
while (*p)
{
switch(state)
{
case 1:
if ('+'==*p||'-'==*p)
{
state=2;
}
else if (*p>='0'&&*p<='9')
{
state=4;
}
else if ('.'==*p)
{
state=3;
}
else
{
state=0;
}
break;
case 2:
if (*p>='0'&&*p<='9')
{
state=4;
}
else if ('.'==*p)
{
state=3;
}
else
{
state=0;
}
break;
case 3:
if (*p>='0'&&*p<='9')
{
state=5;
}
else
{
state=0;
}
break;
case 4:
if (*p>='0'&&*p<='9')
{
state=4;
}
else if ('.'==*p)
{
state=5;
}
else
{
state=0;
}
break;
case 5:
if (*p>='0'&&*p<='9')
{
state=5;
}
else
{
state=0;
}
break;
}
if ('0'==state)
{
return -1;
}
p++;
}
if (4==state||5==state)
{
resualt=0;
}
return resualt;
}
int main()
{
// char* str="123.234";
char str[255];
gets(str);
printf("\n%d\n",isRealNumber(str));
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -