一、输入一个用户名、密码,判断密码强度。
分四类:
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
}
}
}