注册 登录
编程论坛 数据结构与算法

求邮箱验证的算法

yhtime 发布于 2013-04-15 23:09, 650 次点击
描述
POJ 注册的时候需要用户输入邮箱,验证邮箱的规则包括:
1)有且仅有一个'@'符号
2)'@'和'.'不能出现在字符串的首和尾
3)'@'之后至少要有一个'.',并且'@'不能和'.'直接相连
满足以上3条的字符串为合法邮箱,否则不合法,
编写程序验证输入是否合法
输入
输入包含若干行,每一行为一个代验证的邮箱地址,长度小于100
输出
每一行输入对应一行输出
如果验证合法,输出 YES
如果验证非法:输出 NO
1 回复
#2
azzbcc2013-04-15 23:51
程序代码:
#include <stdio.h>
#include <string.h>

int main()
{
    int flag = 0;
    char *ip, str[100] = {0};

    while (scanf("%s", str) != EOF)
    {
        flag = 0;
        flag += str[0] != '@';    //@不能是首位
        ip = strchr(str, '@');    //这个函数不错
        if (!ip)
        {
            puts("NO");continue;
        }
        ip++;

        flag += ip[0] != '.';       //'@'不能和'.'直接相连
        ip = strchr(ip, '.');

        if (ip && 2 == flag)
            puts("YES");
        else    puts("NO");
    }

    return 0;
}
1