zoukankan      html  css  js  c++  java
  • 华为笔试题09

    • 题目描述:

    编写一个函数检查邮箱地址是否合法,合法的条件是

    1、地址中有且只有一个'@'字符

    2、最后三位应该是".com"

    3、中间没有空格

    4、合法的字符是1~9, a~z, A~Z, '.', '@', '_'

    正确输出1,非法输出0

    • 要求实现函数:

    void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr);

    【输入】

    char *pInputStr:指向一个数组的指针

    long lInputLen:该数组的长度

    char *pOutputStr:输出结果,按照字符串输出,正确输出字符'1',错误输出字符'0',''作为字符串结束符

    【返回】 无

    【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输入输出

    • 示例

    输入:huawei@huawei.com

    返回:1

    输入:aa@ddd@huawei.com

    返回:0

     

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	char str[]="jinjian.xidian@gmain.com";
    	int count=0;
    	for(int i=0;i<strlen(str);++i)
    	{
    		if('@'==str[i])
    			++count;
    	}
    	if(1!=count)
    		cout<<"error";
    	if(str[strlen(str)-4]!='.'||str[strlen(str)-3]!='c'||str[strlen(str)-2]!='o'||str[strlen(str)-1]!='m')
    		cout<<"error";
    
    	for(int i=0;i<strlen(str);++i)
    	{
    		if(' '==str[i])
    			cout<<"error";
    		break;
    		
    	}
    	for(int i=0;i<strlen(str);++i)
    	{
    		
    		if (('1'<=str[i])&&(str[i]<='9'))
    			continue;
    		if (('a'<=str[i])&&(str[i]<='z'))
    			continue;
    		if (('A'<=str[i])&&(str[i]<='Z'))
    			continue;
    		if ('.'==str[i])
    			continue;
    		if (','==str[i])
    			continue;
    		if ('@'==str[i])
    			continue;
    		if ('_'==str[i])
    			continue;
    			cout<<"error";
    			break;			
    		
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    Raft协议备注
    领域建模笔记
    Spark编程模型
    Spark如何删除无效rdd checkpoint
    Parquet 列式存储格式
    SpringBoot中ConditionalOnClass注解的原理
    SpringBoot定制Sevlet容器原理
    分析JDK的动态代理原理
    简述SpringCloud底层原理
    简述SpringCloud框架
  • 原文地址:https://www.cnblogs.com/xd-jinjian/p/3277201.html
Copyright © 2011-2022 走看看