问题简述:判断输入一串字符,是否符合密码要求(至少出现大小写字母,特殊字符,数字四个中的三个),长度不够不能通过测试。
夸夸我自己,做的时候感觉自己真的会使用数组了
解题思路:利用一个一位数组分别存储四种字符出现的情况,再用switch函数输出
#include<stdio.h>
#define N 20
#include <string.h>
int main()
{
int a[4]={0};
char b[N];
int l,i,num=0;
gets(b);
l=strlen(b);
if(l==6)
{
for(i=0;i<l;i++)
{
if(b[i]<='z'&&b[i]>='a')
a[0]=1;
else if(b[i]<='Z'&&b[i]>='A')
a[1]=1;
else if(b[i]>='1'&&b[i]<='9')
a[2]=1;
else
a[3]=1;
}
for(i=0;i<4;i++)
{
if(a[i]==0)
num++;
printf("%d",a[i]);
}
if(num>&