解题思路:我们可以设置四个整形变量为a,b,c,d、并将其初始化为0。用来记录分别出现的四种情况,若出现就将1赋值上;

题目要求是出现3种或四种情况就是优质密码,所以就有a+b+c+d>=3就输出YES,否则就是NO;


注意事项:

参考代码:

#include<stdio.h>

int main()

{

    int a=0,b=0,c=0,d=0,count=0;                       //a,b,c,d记录情况

    int i;

    int x;

    char s[16];

    char v;

    scanf("%d",&count);

    for (i=0;i<count;i++)

    {

        scanf("%s",s);

        for (x=0;s[x]!='\0';x++)                            //若满足->赋值1;

        {

            v=s[x];

            if (v>=65&&v<=90)

            a=1;

            if(v>=97&&v<=122)

            b=1;

            if (v>=48&&v<=57)

            c=1;

            if (v=='~'||v=='!'||v=='@'||v=='#'||v=='$'||v=='%'||v=='^')

            d=1;

        }

        if (a+b+c+d>=3)                                  //判断是否满足最终条件。

        printf("YES\n");

        else

        printf("NO\n");

        a=b=c=d=0;                                      //最后将a,b,c,d重新赋值为0;

    }

}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

归尘 2年前 回复TA
我的解法应该是最少代码的!!