题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

#include <ctype.h>
#include <stdio.h>
#include <string.h>

int main() {
    char str[101];
    while (scanf("%s", str) != EOF) {
        int flag[4] = {}, fit = 0;
        if (strlen(str) > 8) {
            for (char i = 0; i < strlen(str); i++)
                if (islower(str[i]))
                    flag[0] = 1;
                else if (isupper(str[i]))
                    flag[1] = 1;
                else if (isdigit(str[i]))
                    flag[2] = 1;
                else
                    flag[3] = 1;
            for (int i = 0; i < 4; i++)
                if (flag[i])
                    fit++;
            if (fit >= 3) {
                for (char* p = str; p - str < strlen(str) && fit; p++) {
                    char subStr[3];
                    memcpy(subStr, p, 3);
                    if (strstr(p + 3, subStr))
                        fit = 0;
                }
                if (fit) {
                    printf("OK\n");
                    continue;
                }
            }
        }
        printf("NG\n");
    }
}

全部评论

相关推荐

喜欢喜欢喜欢:这是我见过最长最臭的简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务