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

来源:互联网 发布:千峰php培训多少钱 编辑:程序博客网 时间:2024/05/20 10:11

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

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

#include<bits/stdc++.h>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        }    }}