2017海康威视秋招笔试编程题——C/C++开发

一、输入一个用户名、密码,判断密码强度。
分四类:
1. 强度0:密码长度小于8|用户名与密码相同|用户名与密码相反
2. 强度1:密码长度大于8&密码只包含数字与小写字母组合或数字与大写字母组合
3. 强度2:密码长度大于8&密码除只包含数字与小写字母组合或数字与大写字母组合
4. 强度3:密码长度大于8&密码组合有超过三类
密码可由:数字、小写字母、大写字母、特殊字符组成。
水题:注意逻辑正确即可。

二、分割字符串
给定一个字符串P和一个分割字符S,将P按照分割字符S进行分割并逐行输出。
分析:博主在做这题时,将他想的过于简单,以为分割字符只是单个字符,只要遍历字符串P中的每个字符,遍历到分割字符就将前面的字符串输出即可。快速写完后发现怎么提交都只过20%。事后分析,应该是分割字符包含多个字符,例如“*#”。
题本身不难,思考问题要全面。代码如下:

#include
using namespace std;
int main()
{
    char str[100];
    char s[100];
    char* buf = str;
    while (cin >> str >> s)
    {
        char* result = NULL;
        result = strtok(str, s);//第一次分割完后str变为第一段字符,剩下段的字符存储在静态区

        while (result != NULL)
        {
            printf("%s\n", result);
            result = strtok(NULL, s);//剩下几次调用str位置用NULL
        }
    }
}

你可能感兴趣的:(各公司秋招笔试编程题)