POJ 3332

题意:检查输入字符串是否是浮点型。

题解:模拟= =!

View Code
 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cctype>
 5 using namespace std;
 6 int main()
 7 {
 8     int T;
 9     for(scanf("%d",&T); T; T--)
10     {
11         char s[1200];
12         scanf(" %s",s);
13         if(s[0]=='+'||s[0]=='-'||isdigit(s[0]))
14         {
15             int c1=0,c2=0;
16             int i;
17             for(i=1; s[i]!='\0'; i++)
18             {
19                 if(s[i]=='.')
20                 {
21                     c1++;
22                     if(!isdigit(s[i-1])||!isdigit(s[i+1]))
23                         c1=2;
24                     if(c1>1||c2>0)
25                     {
26                         c1=2;
27                         break;
28                     }
29                 }
30                 else if(s[i]=='E'||s[i]=='e')
31                 {
32                     c2++;
33                     if(!isdigit(s[i-1]))
34                         c2=2;
35                     if(c2>1)
36                     {
37                         c1=2;
38                         break;
39                     }
40                 }
41                 else if(!isdigit(s[i]))
42                 {
43                     if(!isdigit(s[i-1])&&s[i-1]!='.'&&s[i-1]!='E'&&s[i-1]!='e')
44                     {
45                         c1=2;
46                         break;
47                     }
48                 }
49             }
50             if(!isdigit(s[i-1]))
51                 c1=2;
52             if(c1==2)
53                 puts("ILLEGAL");
54             else
55                 puts("LEGAL");
56         }
57         else
58             puts("ILLEGAL");
59     }
60     return 0;
61 }

转载于:https://www.cnblogs.com/tmeteorj/archive/2012/10/02/2710270.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值