问题:
电话的号码盘一般可以用于输入字母。如用2可以输入A、B、C,用3可以输入D、E、F等。
如:对于号码5869872,可以依次输入其代表的所有字母组合。如:JTMWTPA、JTMWTPB…
1. 设计程序,尽可能快地从这些字母组合中找到一个有意义的单词来表述一个电话号码。如:可以用单词“computer”来描述号码26678837
方法一:用三个(3为号码的个数)for循环
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
const int TelLength = 3;
char c[10][10]=
{
"", //0
"", //1
"ABC", //2
"DEF", //3
"GHI", //4
"JKL", //5
"MNO", //6
"PQRS", //7
"TUV", //8
"WXYZ", //9
};
int total[10] = {0, 0, 3, 3, 3, 3, 3, 4, 3, 4};
int number[TelLength]={4, 5, 6};
int answer[TelLength];
for(answer[0]=0; answer[0]<total[number[0]]; answer[0]++)
for(answer[1]=0; answer[1]<total[number[1]]; answer[1]++)
for(answer[2]=0; answer[2]<total[number[2]]; answer[2]++)
{
for(int i=0; i<3; i++)
{
printf("%c", c[number[i]][answer[i]]);
}
printf("\n");
}
return 0;
}