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

密码验证合格程序

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

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

int main() {
    char m[100];
    while (gets(m)) {
        int len = strlen(m);
        int k[4] = {0};
        for (int i = 0; i < len - 1; i++) {
            if ( m[i] >= 'A' && m[i] <= 'Z') {
                k[0] = 1;
            } else if ( m[i] >= 'a' && m[i] <= 'z') {
                k[1] = 1;
            } else if ( m[i] >= '0' && m[i] <= '9') {
                k[2] = 1;
            } else if ( m[i] == ' ' || m[i] == '\n') {
                k[0] = 0;
                k[1] = 0;
                k[2] = 0;
                k[3] = 0;
                break;
            } else {
                k[3] = 1;
            }
        }
        //printf("%d %d %d %d",k[0],k[1],k[2],k[3]);
        int c = 0;
        for (int i = 0; i < len - 4; i++) {
            for (int j = i+3; j < len - 1; j++) {
                if (m[i] == m[j] && m[i + 1] == m[j + 1] && m[i + 2] == m[j + 2]) {
                    //printf("%d %d ",i,j);
                    c = 1;
                    break;
                }
            }
        }
        //printf("%d",c);
        int kind = k[0] + k[1] + k[2] + k[3];
        //printf("%d",kind);
        if (len >= 9 && kind >= 3 && c == 0) {
            printf("OK\n");
        } else {
            printf("NG\n");
        }
    }

    return 0;
}

全部评论

相关推荐

09-29 07:57
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务