这是一道简单的字符对应数字的题目,需要的只是如何更快速的完成,所以为了编码效率,可以写一个函数处理字符串。程序如下
#include<cstdio>
#include<cstring>
#define MAXN 5000
int t[MAXN], b[15];
void f(const char *s, int a)
{
int len = strlen(s);
for(int i = 0; i < len; i ++)
t[(int)s[i]] = a;
}
int main()
{
f("`1QAZ", 1);
f("2WSX", 2);
f("3EDC", 3);
f("4RFV5TGB", 4);
f("6YHN7UJM", 5);
f("8IK,", 6);
f("9OL.", 7);
f("0P;/-['=]", 8);
char c;
while(~(c = getchar()))
b[t[(int)c]] ++;
for(int i = 1; i <= 8; i ++)
printf("%d\n", b[i]);
return 0;
}