首页 > 代码库 > 5313 [JL]判断邮箱地址 升级版
5313 [JL]判断邮箱地址 升级版
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:
45678sss@.cn
输入样例#2:
hello@microsoft.cn
输入样例#3:
luogu.luogu@
输入样例#4:
#$%@sina.com
样例输出 Sample Output
输出样例#1:
no(没有服务器名)
输出样例#2:
yes(符合要求)
输出样例#3:
no(“@”位置不对,没有后缀名)
输出样例#4:
no(无效字符)
数据范围及提示 Data Size & Hint
邮箱字符串长度<=255
分类标签 Tags 点此展开
暂无标签
题解:
模拟即可
AC代码:
#include<cstdio>#include<cstring>using namespace std;char s[300];inline bool judge(char &ch){ return (ch>=‘A‘&&ch<=‘Z‘)||(ch>=‘a‘&&ch<=‘z‘)||(ch>=‘0‘&&ch<=‘9‘)||(ch==‘_‘);}int main(){ scanf("%s",s); int len=strlen(s); int ai=0;int flag=0; for(int i=0;i<len;i++) if(s[i]==‘@‘){ai=i;break;} if(!ai){puts("no");return 0;} for(int i=0;i<ai;i++) if(!judge(s[i])){puts("no");return 0;} if(!judge(s[ai+1])){puts("no");return 0;} for(int i=ai+2;i<len;i++) if(s[i]==‘.‘){ flag=1; if(!judge(s[i+1])){puts("no");return 0;} } if(!flag){puts("no");return 0;} puts("yes"); return 0;}
5313 [JL]判断邮箱地址 升级版
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。