编程之美-电话号码对应英语单词

来源:互联网 发布:巨人网络2016年年报 编辑:程序博客网 时间:2024/04/29 11:53

题目:

       对如非全键盘的手机上的数字,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,要求对一段数字,输出其代表的所有可能的字母组合,如5869,可能代表JTMW、JTMX................

#include <iostream>using namespace std;char c[10][10] = {"", "","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};int total[10] = {0, 0, 3, 3, 3, 3, 3, 4, 3, 4};void recursiveSearch(int* number, int* answer, int index, int n){if (index == n){for (int i = 0; i < n; i++){printf("%c", c[number[i]][answer[i]]);}printf("\n");return;}for (answer[index] = 0; answer[index] < total[number[index]]; answer[index]++){recursiveSearch(number, answer, index+1, n);}}int main(){int answer[4];int number[4] = {3, 4, 5, 6};recursiveSearch(number, answer, 0, 4);}


 

原创粉丝点击