本文主要是介绍POJ 百炼 保研机试 4015:邮箱验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
4015:邮箱验证
- 查看
- 提交
- 统计
- 提示
- 提问
- 总时间限制:
- 1000ms 内存限制:
- 65536kB
- 描述
- POJ 注册的时候需要用户输入邮箱,验证邮箱的规则包括:
1)有且仅有一个'@'符号
2)'@'和'.'不能出现在字符串的首和尾
3)'@'之后至少要有一个'.',并且'@'不能和'.'直接相连
满足以上3条的字符串为合法邮箱,否则不合法,
编写程序验证输入是否合法 输入 - 输入包含若干行,每一行为一个代验证的邮箱地址,长度小于100 输出
- 每一行输入对应一行输出
如果验证合法,输出 YES
如果验证非法:输出 NO 样例输入 -
.a@b.compku@edu.cncs101@gmail.comcs101@gmail
样例输出 -
NOYESYESNO
-
#include<stdio.h> #include<string.h> int main(){char str[110];while(scanf("%s",str)!=EOF){int flag=0;int n=strlen(str);int numa=0,num=0;if(str[0]=='@'||str[0]=='.'||str[n-1]=='@'||str[n-1]=='.'){printf("NO\n"); flag=1;}else {for(int i=0;i<n-1;i++){if(str[i]=='@'&&str[i+1]=='.'||str[i]=='.'&&str[i+1]=='@'){printf("NO\n"); flag=1;} }for(int i=0;i<n;i++){if(str[i]=='@'){numa++;}}if(numa!=1){printf("NO\n"); flag=1;}else{int j;for(int i=0;i<n;i++){if(str[i]=='@'){j=i;}}for(int i=j;i<n;i++){if(str[i]=='.'){num++;}}if(num==0){printf("NO\n"); flag=1;}}}if(flag==0) printf("YES\n");}return 0; }
这篇关于POJ 百炼 保研机试 4015:邮箱验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!