【发布时间】:2015-04-29 10:28:05
【问题描述】:
Roy 想提高他在编程比赛中的打字速度。所以,他的朋友建议他反复输入“The quick brown fox jumps over the lazy dog”这句话,因为它是一个 pangram。 (Pangrams 是使用字母表中的每个字母至少一次构成的句子。)
这句话打了好几遍,罗伊就厌烦了。于是他开始寻找其他的pangram。
给定一个句子 s,告诉 Roy 它是否是一个 pangram。
输入格式 输入由包含 s 的行组成。
约束 s 的长度最多为 103(1≤|s|≤103),可以包含空格、小写和大写字母。字母的小写和大写实例被认为是相同的。
输出格式 如果 s 是 pangram,则输出一行包含 pangram,否则不输出 pangram。
void panagram(char s[])
{
int num1[26]={0};
int num2[26]={0};
int len=strlen(s);
int count=0,j,i;
for(i=0;i<len;i++)
{
if(s[i]>=97&&s[i]<=122)
{
num1[s[i]-97]++;
}
if(s[i]>=65&&s[i]<=90)
{
num2[s[i]-65]++;
}
}
for(j=0;j<26;j++)
{
if(num1[j]>=1||num2[j]>=1)
{ printf("%d\t\t%d\n",num1[j],num2[j]);
count++;
}
}
printf("%d\t",count);
if(count>=26)
printf("panagram");
else
printf("not panagram");
}
int main() {
char s[1000];
scanf("%s",s);
panagram(s);
return 0;
}
该代码适用于没有空格的字符串,例如“Wepromptlyjudgedantiqueivorybucklesforthenextprize”,但不适用于带有空格的字符串 - “我们及时判断了下一个奖品的古董象牙扣” 谁能告诉我哪里出错了? 我输入错误了吗?
【问题讨论】: