#c语言
先输入一个正整数N,然后输入N个字符,如果全都是大写字母,输出perfect;如果全是小写字母输出 good;如果全是数字,输出nice,如果前三种情况都不满足输出ok
我的思路如下
#include<stdio.h>
int main(void)
{
int x,i,l1=0,l2=0,l3=0;
char ch;
scanf("%d",&x);
getchar();
for(i=0;i<x;i++){
scanf("%c",&ch);
if(ch>='A'&&ch<='Z'){
l1++;
}else if(ch>='a'&&ch<='z'){
l2++;
}else if(ch>='0'&&ch<='9'){
l3++;
}
}
if(l1==x) printf("perfect");
else if(l2==x) printf("good");
else if(l3==x) printf("nice");
else printf("ok");
}
有帮助请采纳
建议你去查阅以下ASCII码,0-9 ASCII码为 48至(48+9),小写字母与大写字母ASCII码差值为32
printf("a:%d,A:%d",'a','A');
题解
#include <stdio.h>
#define MAX 200
char str[100];
int main() {
int n;
scanf("%d",&n);
int fg1 = 0, fg2 = 0, fg3 = 0;
for(int i = 0; i < n; i++){
scanf("%c ",&str[i]);
if(str[i] >= 'A' && str[i] <='Z'){
fg1 = 1;
}
if(str[i] >= 'a' && str[i] <='z'){
fg2 = 1;
}
if(str[i] >= '0' && str[i] <='9'){
fg3 = 1;
}
}
if(fg1 == 1 && fg2 == 0 && fg3 == 0) printf("perfect");
else if(fg1 == 0 && fg2 == 1 && fg3 == 0) printf("good");
else if(fg1 == 0 && fg2 == 0 && fg3 == 1) printf("nice");
else printf("ok");
return 0;
}