hdu 1409

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1409

思路:就是把所有的不符点条件都排除掉,如果都符合,就Yes,否则,No;

View Code
 1 #include<cstdio>
 2 #include<cstring>
 3 
 4 int main(){
 5     int _case;
 6     scanf("%d",&_case);
 7     getchar();
 8     while(_case--){
 9         char str[110];
10         gets(str);
11         int cnt1,cnt2,p,len=strlen(str);
12         cnt1=cnt2=p=0;
13         bool flag=true;
14         for(int i=0;i<len;i++){
15             if((str[i]<'0'||str[i]>'9')&&str[i]!='.'&&str[i]!='E'&&str[i]!='-'){
16                 flag=false;break;
17             }else if(str[i]=='E'){
18                 cnt1++;
19                 if(i==0||(i+1)==len||cnt1>1){
20                     flag=false;break;
21                 }
22             }else if(str[i]=='-'){
23                 cnt2++;
24                 if(i==0||str[i-1]!='E'||(i+1)==len||cnt2>1){
25                     flag=false;break;
26                 }
27             }else if(str[i]=='.'){
28                 p++;
29                 if((i+1)==len||i==0||p>1||cnt1>0){
30                     flag=false;break;
31                 }
32             }
33         }
34         flag?puts("YES"):puts("NO");
35     }
36     return 0;
37 }

 

posted @ 2013-04-30 16:46  ihge2k  阅读(164)  评论(0编辑  收藏  举报