百练4015:邮箱验证题解

xiaoxiao2021-02-28  128

4015:邮箱验证

查看提交统计提示提问 总时间限制:  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; }

转载请注明原文地址: https://www.6miu.com/read-70048.html

最新回复(0)