×
新网 > 邮箱资讯 > 正文

百练4015:邮箱验证题解

4015:邮箱验证 查看提交统计提示提问 总时间限制: 1000ms 内存限制: 65536kB 描述POJ 注册的时候需要用户输入邮箱,验证邮箱的规则包括: 1)有且仅有一个\'@\'符号 2)\'@\'和\'.\'不能出现在字符串的首和尾 3)\'@\'之后至少要有一个\'.\',并且\'@\'不能和\'.\'直接相连 满足以上3条的字符串为合法邮箱,否则不合法, 编写程序

4015:邮箱验证
查看提交统计提示提问
t01167f06eb4eb60c45.jpg
总时间限制:1000ms内存限制:65536kB 描述POJ 注册的时候需要用户输入邮箱,验证邮箱的规则包括:
1)有且仅有一个\'@\'符号
2)\'@\'和\'.\'不能出现在字符串的首和尾
3)\'@\'之后至少要有一个\'.\',并且\'@\'不能和\'.\'直接相连
满足以上3条的字符串为合法邮箱,否则不合法,
编写程序验证输入是否合法 输入输入包含若干行,每一行为一个代验证的邮箱地址,长度小于100 输出每一行输入对应一行输出
如果验证合法,输出 YES
如果验证非法:输出 NO 样例输入

.a@b.com pku@edu.cn cs101@gmail.com cs101@gmail 样例输出

NO YES YES NO

 

查看 提交 统计 提示 提问 代码:

#include<iostream> #include<string> #include<algorithm> using namespace std; bool judge(string str){ if(count(str.begin(),str.end(),\'@\') != 1) return false; if(str[0] == \'@\' || str[0] == \'.\' || str.back() == \'@\' || str.back() == \'.\') return false; size_t pos = str.find(\'@\'); if(str[pos + 1] == \'.\' || str[pos - 1] == \'.\') return false; return count(str.begin() + pos, str.end(),\'.\') >= 1; } int main(){ string str; while(cin>>str){ if(judge(str)) puts("YES"); else puts("NO"); } return 0; }

 

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading