这是一道简单的字符对应数字的题目,需要的只是如何更快速的完成,所以为了编码效率,可以写一个函数处理字符串。程序如下
#include#include #define MAXN 5000int 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;}