此题用数组对每个输入的数据进行统计,因不区分大小写故需要在统计时将大小写进行合并处理。输出时按字符的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; }