• 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;
    }
  • 相关阅读:
    JavaScript中的分支结构
    JavaScript中的函数
    JavaScript的数据类型转换
    javascript 概述及基础知识点(变量,常量,运算符,数据类型)
    关于检索关键字的常用四种方法
    Array.prototype.sort()
    String()与toString()区别和应用
    关于css的优先级
    android--asp.net webservice 返回json
    android--handler
  • 原文地址:https://www.cnblogs.com/shenben/p/5880524.html
Copyright © 2020-2023  润新知