高手请进 高分C语言问题。。。

来源:百度知道 编辑:UC知道 时间:2024/07/02 20:39:32
输入
输入的第一行是一个整数 N,表明后面有多少组密码。随后的 N 行输入包括 N 个密码,每个密码的长度均小于 20 个字符。
输出
针对每一个密码判断并输出它是否安全。对于不安全的密码输出 "Not Safe",对于中度安全的密码输出 "Medium Safe",对于安全的密码输出 "Safe",
如果密码长度小于 6 位,则不安全
如果组成密码的字符只有一类,则不安全
如果组成密码的字符有两类,则为中度安全
如果组成密码的字符有三类或以上,则为安全
输入:4
1234
abcdef
ABC123
1#c3Gh
输出:Not Safe
Not Safe
Medium
Safe Safe
知道这个题挺麻烦的。。谢谢了 有加分~~~~

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

bool ExistDigit(char *s)
{
int nLen = 0,i;
if(s == NULL)
return false;

nLen = strlen(s);
for(i = 0; i <nLen; i++)
{
if(s[i]>='0' && s[i]<='9')
{
return true;
}
}
return false;
}

bool ExistCharacter(char*s)
{
int nLen = 0,i;
if(s == NULL)
return false;

nLen = strlen(s);
for(i = 0; i <nLen; i++)
{
if( (s[i]>='a' && s[i]<='z')
||(s[i]>='A' && s[i]<='Z') )
{
return true;
}
}
return false;
}

bool ExistOtherCharacter(char *s)
{
int nLen = 0,i;
if(s == NULL)
return false;

nLen = strlen(s);
for(i = 0; i <nLen; i++)
{
if( (s[i]<'a' |