5313 [JL]判断邮箱地址 升级版

 时间限制: 1 s
 空间限制: 1000 KB
 题目等级 : 黄金 Gold
 查看运行结果
 
 
题目描述 Description

正确的邮箱地址格式要求:

1.格式:用户名@服务器名.后缀域名”

2.用户名、服务器名、后缀域名均由字母、英文与下划线组成

输入一个邮箱地址判断它是不是合法的邮箱地址。

输入格式:

1.不会出现多节域名(比如:123@sina.com.cn 这种不会出现)

2.不会出现中文字符

输入描述 Input Description

输入仅一行(Mail.in):

为疑似邮箱的字符串

输出描述 Output Description

输出仅一行(Mail.out):

是邮箱,输出“yes”,

不是则输出“no”(不包括引号)

(样例输出中,括号中的内容不用输出)

样例输入 Sample Input

输入样例#1:

  1. 45678sss@.cn

输入样例#2:

  1. hello@microsoft.cn

输入样例#3:

  1. luogu.luogu@

输入样例#4:

  1. #$%@sina.com
样例输出 Sample Output

输出样例#1:

  1. no
  2. (没有服务器名)

输出样例#2:

  1. yes
  2. (符合要求)

输出样例#3:

  1. no
  2. (“@”位置不对,没有后缀名)

输出样例#4:

  1. no
  2. (无效字符)
数据范围及提示 Data Size & Hint

邮箱字符串长度<=255

分类标签 Tags 点此展开

 
暂无标签
题解:
模拟即可
AC代码:
  1. #include<cstdio>
  2. #include<cstring>
  3. using namespace std;
  4. char s[];
  5. inline bool judge(char &ch){
  6. return (ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')||(ch>=''&&ch<='')||(ch=='_');
  7. }
  8. int main(){
  9. scanf("%s",s);
  10. int len=strlen(s);
  11. int ai=;int flag=;
  12. for(int i=;i<len;i++) if(s[i]=='@'){ai=i;break;}
  13. if(!ai){puts("no");return ;}
  14. for(int i=;i<ai;i++) if(!judge(s[i])){puts("no");return ;}
  15. if(!judge(s[ai+])){puts("no");return ;}
  16. for(int i=ai+;i<len;i++) if(s[i]=='.'){
  17. flag=;
  18. if(!judge(s[i+])){puts("no");return ;}
  19. }
  20. if(!flag){puts("no");return ;}
  21. puts("yes");
  22. return ;
  23. }

5313 [JL]判断邮箱地址 升级版的更多相关文章

  1. PHP判断邮箱地址是否合法的正则表达式

    PHP判断邮箱地址是否合法的正则表达式: function checkEmail($inAddress){ return (preg_match("/^([a-zA-Z0-9_-])+@([ ...

  2. jQuery-文本框事件应用-判断邮箱地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. iOS开发-通过正则表达式进行各种判断银行卡,车牌号,邮箱地址,QQ,身份证,全字母,仅输入字母或数字同时包含大小写字母和数字,仅能输入中文等

    /* *  验证银行卡号是否正确 *  车牌号验证 *  检验邮箱地址是否正确 *  手机号中间四位密文显示 *  判断QQ号是否正确(5-11位) *  判断身份证号是否正确(如末位为字母请用“x” ...

  4. linux mail利用外部邮箱地址发邮件

    mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ...

  5. petapoco sql语句参数化 插入邮箱地址

    直接上代码,我是这样插入信息的 string sql = string.Format(@" INSERT INTO T_Log ( UserId , ProValue ) VALUES ( ...

  6. GIT 查看/修改用户名和邮箱地址

    用户名和邮箱地址的作用用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变.每次commit都会用用户名和邮箱纪录.github的contributions统计就是按邮箱来统计的.查看用户 ...

  7. php发送邮件处理功能页面去除重复的邮箱地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Javascript正则表达式验证邮箱地址

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...

  9. Google 宣布支持中文邮箱地址

    Gmail 宣布,即日起开始支持非拉丁字符邮箱地址.也就是说,我们可以在 Gmail 中针对中文邮箱地址发送和接收邮件了. 全世界母语是拉丁字母语言的人类不超过全人类总数的一半,母语是英语的人数更少. ...

随机推荐

  1. vs 2017 清空 打开项目的历史记录

  2. 扩增子分析解读2提取barcode 质控及样品拆分 切除扩增引物

    本节课程,需要完成扩增子分析解读1质控 实验设计 双端序列合并 先看一下扩增子分析的整体流程,从下向上逐层分析 分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们拿到了双 ...

  3. php获取文件扩展名

    <?php $path = 'http://www.wstmart.net/doc.html'; $ext = getExt($path); echo $ext; // 方法1 function ...

  4. @EnableConfigurationProperties

    参考:https://www.jianshu.com/p/7f54da1cb2eb 使用 @ConfigurationProperties 注解的类生效. 如果一个配置类只配置@Configurati ...

  5. C++11 Thread多线程的学习心得与问题

    C++11 ,封装了thread的多线程的类,这样对多线程的使用更加方便. 多线程的原理我不加赘述,可以参看操作系统等参考书. 多线程代码可以最大化利用计算机性能资源,提高代码的运行效率,是常用优化方 ...

  6. 关于C++中字符串输入get与getline的区别

    最近使用C++中自己老是忘记的一个点,get与getline的区别. 1.get与getline get和getline所属iostream类,作用是读取一整行,通过换行符确定读取结束,他们都可以读取 ...

  7. UVA - 1620 Lazy Susan(逆序数)

    题目: 把1~n(n≤500)放到一个圆盘里,每个数恰好出现一次.每次可以选4个连续的数字翻转顺序.问能不能变成1.2.3....n的顺序. 思路: 这样的题的规律真的是一点都不好推,看了网上的博客知 ...

  8. <SpringMvc>入门六 异常处理

    如果不做异常处理,那么一直将错误向上抛出,则会最后在页面上显示错误代码 服务启动后,访问test1方法,页面会报500 为了提示友好的错误页面,所以需要做异常处理 1.编写自定义异常类(做提示信息的) ...

  9. 00 大王警语--be_a_new_gentleman

    大王博客:https://www.cnblogs.com/alex3714/ # 表面层次# 1,着装特体(服饰的牌子中高端)# 2,每天洗澡# 3,适当用香水# 4,女士优先# 5,不随地吐痰.不乱 ...

  10. 使用Mybatis的逆向工程自动生成代码

    1.逆向工程的作用 Mybatis 官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml.Mapper.java.pojo). 2.逆向工程的使用方法 ...