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 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值