归尘


私信TA

用户名:a2069084072

访问量:936

签 名:

归尘

等  级
排  名 2979
经  验 2083
参赛次数 2
文章发表 8
年  龄 0
在职情况 学生
学  校 中南林业科技大学涉外学院
专  业 计算机科学与技术

  自我简介:

木叶飞舞之处,火亦生生不息!

TA的其他文章

解题思路:我们可以设置四个整形变量为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分

1 人评分

  评论区

我的解法应该是最少代码的!!
2022-03-24 19:44:46
  • «
  • 1
  • »