栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1537 Identifying Legal Pa...

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1537 Identifying Legal Pa...

#include<iostream>#include<string.h>#include<memory>using namespace std;int main(){enum State{PRE_NUM,SIGN1,PRE_POINT,POINT,FRACTION,E,SIGN2,EXP,FOLLOWBLANK,ERROR};char ch;char str[1000];State state;while(cin>>ch,ch!='*'){int idx=0;state=PRE_NUM;while(ch!='n'){switch(state){case PRE_NUM:if(ch=='+'||ch=='-'){state=SIGN1;break;}if(ch>='0'&&ch<='9'){state=PRE_POINT;break;}state=ERROR;break;case SIGN1:if(ch>='0'&&ch<='9'){state=PRE_POINT;}elsestate=ERROR;break;case PRE_POINT:if(ch=='.'){state=POINT;break;}if(ch=='e'||ch=='E'){state=E;break;}if(!(ch>='0'&&ch<='9')){state=ERROR;}break;case POINT:if(ch>='0'&&ch<='9'){state=FRACTION;}elsestate=ERROR;break;case FRACTION:if(ch=='e'||ch=='E'){state=E;break;}if(ch==' '){state=FOLLOWBLANK;break;}if(!(ch>='0'&&ch<='9')){state=ERROR;}break;case E:if(ch=='+'||ch=='-'){state=SIGN2;break;}if(ch>='0'&&ch<='9'){state=EXP;break;}state=ERROR;break;case SIGN2:if(ch>='0'&&ch<='9'){state=EXP;}elsestate=ERROR;break;case EXP:if(ch==' '){state=FOLLOWBLANK;break;}if(!(ch>='0'&&ch<='9'))state=ERROR;break;case FOLLOWBLANK:if(ch!=' ')state=ERROR;default:break;}str[idx++]=ch;cin.get(ch);}str[idx]='';while(str[--idx]==' ')str[idx]='';cout<<str<<" is ";if(state==ERROR||state==PRE_POINT||state==POINT||state==SIGN1||state==SIGN2||state==E)cout<<"illegal.n";elsecout<<"legal.n";memset(str,0,++idx*sizeof(char)); }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/366686.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号