#include <stdio.h> #include <string.h> #define size 301 int lenscore(char* A){ //返回密码长度得分,注意return 20; 应该不行,返回变量,提前给变量赋值 int len=strlen(A); int value; if(len<=4){ value=5; } else if(len>=5&&len<=7){ value=10; }else{ value=25;} return value; } int elescore(char* A){ //返回字母得分 int len=strlen(A); int i=0; int a=0,b=0; for(i=0;i<len;i++){ if(A[i]<='z'&&A[i]>='a') { a++; } else{if(A[i]<='Z'&&A[i]>='A') { b++; } } } int value; if(a>0&&b>0) value=20; else if((b==0)&&(a==0)) value=0; else value=10; return value; } int numscore(char*A){ //返回数字得分 int i=0;int len=strlen(A);int num=0; for(i=0;i<len;i++){ if(A[i]>='0'&&A[i]<='9'){ num++; } } int value; if(num==0) value=0; if(num==1) value=10; if(num>1) value=20; return value; } int fscore(char*A){ //返回符号得分 int i=0;int len=strlen(A);int num=0; for(i=0;i<len;i++){ if((A[i]>='!'&&A[i]<='/')||(A[i]>=':'&&A[i]<='@')||(A[i]>='['&&A[i]<='`')||(A[i]>='{'&&A[i]<='~')){ num++; } } int value ; if(num==0) value=0; if(num==1) value=10; if(num>1) value=25; return value; } int main() { char input[size]; gets(input); int n1,n2,n3,n4,n5; n1=lenscore(input); n2=elescore(input); n3=numscore(input); n4=fscore(input); if(n2==20&&n3>0&&n4>0){ //奖励得分 n5=5; }else if(n2==10&&n3>0&&n4>0){ n5=3; }else if(n2>=10&&n3>0){ n5=2; }else{n5=0;} // printf("%d %d %d %d %d ",n1,n2,n3,n4,n5); //可以检测哪个分数算错了 int score=n1+n2+n3+n4+n5; if(score>=90){printf("VERY_SECURE");} else if(score>=80){printf("SECURE");} else if(score>=70){printf("VERY_STRONG");} else if(score>=60){printf("STRONG");} else if(score>=50){printf("AVERAGE");} else if(score>=25){printf("WEAK");} else{printf("VERY_WEAK");} return 0; }