问题:
电话的号码盘一般可以用于输入字母。如用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;
}

本文介绍了一种使用C语言编程的方法,通过嵌套循环来枚举电话号码对应的字母组合。以一个具体的例子展示了如何实现这一过程,并提供了完整的代码示例。

514

被折叠的 条评论
为什么被折叠?



