拉丁字母表有26个字符,而电话只有数字输入板。为了便于输入字母,我们做了一个对应关系。 例如,要输入B,程序要输入22.为了输入相同键上的不同字母,用户在输入之间要停顿一下。 空格' '用来指代停顿。例如2 2代表AA,22代表B 输入 第一行代表测试案例的数目N 下面N行,每行是一个字符串 输出 对于每个测试案例,输出“Case #x: ",然后输出按键顺序 样例输入 4 hi yes foo bar hello world 样例输出 Case #1: 44 444 Case #2: 999337777 Case #3: 333666 6660 022 2777 Case #4: 4433555 555666096667775553的C语音代码
时间: 2024-03-17 14:46:17 浏览: 149
```c
#include <stdio.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
char str[105];
scanf("%s", str);
int len = strlen(str);
printf("Case #%d: ", i);
for (int j = 0; j < len; j++) {
if (j > 0 && (str[j] == 'a' || str[j] == 'b' || str[j] == 'c' || str[j] == 'd' || str[j] == 'e' || str[j] == 'f' || str[j] == 'g' || str[j] == 'h' || str[j] == 'i')) {
printf(" ");
}
if (str[j] == 'a' || str[j] == 'b' || str[j] == 'c') {
printf("2");
} else if (str[j] == 'd' || str[j] == 'e' || str[j] == 'f') {
printf("3");
} else if (str[j] == 'g' || str[j] == 'h' || str[j] == 'i') {
printf("4");
} else if (str[j] == 'j' || str[j] == 'k' || str[j] == 'l') {
printf("5");
} else if (str[j] == 'm' || str[j] == 'n' || str[j] == 'o') {
printf("6");
} else if (str[j] == 'p' || str[j] == 'q' || str[j] == 'r' || str[j] == 's') {
printf("7");
} else if (str[j] == 't' || str[j] == 'u' || str[j] == 'v') {
printf("8");
} else if (str[j] == 'w' || str[j] == 'x' || str[j] == 'y' || str[j] == 'z') {
printf("9");
}
}
printf("\n");
}
return 0;
}
```
阅读全文