此题用数组对每个输入的数据进行统计,因不区分大小写故需要在统计时将大小写进行合并处理。输出时按字符的ascii码进行索引输出
#include <stdio.h>
int data[1000];
//英文大写转小写保存;
//英文小写字母、数字均以其ascii码为索引进行计数统计;
int main()
{
char ch;
//循环读入数据;
while(scanf("%c",&ch) != EOF)
{
//当读到换行时表示字符串输入结束,此时需要读入字符进行统计输出了;
if(ch == '\n')
{
//读入A;
char a = getchar();
if(a >= 'A' && a <= 'Z')
{
a += 32;
}
printf("%d\n", data[a]);
//读入A后面的\n;
getchar();
}
else if(ch >= 'A' && ch <= 'Z')
{
//英文大写转成小写,ascii码值加32;
ch += 32;
data[ch]++;
}else if(ch >= 'a' && ch <= 'z')
{
//英文小写字母进行统计;
data[ch]++;
}else if(ch >= '0' && ch <= '9')
{
//数字进行统计;
data[ch]++;
}
}
return 0;
}
京公网安备 11010502036488号