一个简单的实现:
#include <stdio.h>
int main(void){
int num; //输入字符的个数
int i = 0; //数组下标临时变量
char ch; //字符临时变量
int capital=0, lowercase=0,number=0; //依次定义大写字母个数、小写字母个数,数字个数变量
scanf("%d",&num); //获取需要输入的字符个数
char words [num]; //创建存放num个字符的字符数组。
fflush(stdin); //清除输入缓存,以便下个scanf获取输入
while(i<num){ //读取num个字符
scanf("%c",&words[i++]);
}
for(i=0;i<num;i++){
ch=words[i];
if(ch>=65&&ch<=90){ //如果是大写字母, 大写字母个数变量计数增加一
capital++;
}else if(ch>=97&&ch<=122){//如果是小写字母, 小写字母个数变量计数增加一
lowercase++;
}else if(ch>=48&&ch<=57){//如果是数字, 数字变量计数增加一
number++;
}
}
if((capital==num)&&(lowercase==0)&&(number==0)){ //如果全是大写字母
printf("perfect");
}else if((lowercase==num)&&(capital==0)&&(number==0)){ //如果全是小写字母
printf("good");
}else if((number==num)&&(lowercase==0)&&(capital==0)){ //如果全是数字
printf("nice");
}else { //其他情况
printf("ok");
}
return 0;
}