编程之美:电话号码对应英文单词( 程序实现)
2014-09-13 11:44
821 查看
/************************************************************************/ /* 实现:将输入的手机号码对应手机键盘的字母形成组合,并打印输出 输入: 电话号码位数,对应的电话号码 输出:电话号码对应所用字母组合 */ /************************************************************************/ #include <cstdio> #include <assert.h> #include <cstring> using namespace std; char dict[10][5]={ "",//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}; void printAllStr(int * arr,int len); int main(int argc,char * argv[]) { int telNum = 0; while(scanf("%d",&telNum)!=EOF) { int* arr = new int[telNum]; if(!arr) { printf("failed to create new arr\n"); break; } for(int i=0;i<telNum;++i) { scanf("%d",arr+i); } // TODO print function printAllStr(arr,telNum); delete []arr; } return 0; } void printAllStr(int * arr, int len) { int* res = new int[len]; assert(res); memset(res,0,sizeof(int)*len); int resMulty = 1; for(int i = 0; i< len ; ++i) { if(total[arr[i]]) resMulty *= total[arr[i]]; } printf("\n resMulty=%d\n",resMulty); int changeI = 0; int ordinary = 1; while(true) { printf("[%03d]:",ordinary); for(int i =0;i<len;++i) printf("%c",dict[ arr[i] ][ res[i] ]); puts(""); ordinary ++; changeI = 0; while(changeI<len) { // 前一组的序号满了,则:先改变下标,再改变对应下标的输出序号 if(res[ changeI ]<total[ arr[changeI ] ]-1) { res[ changeI ]++; break; } else { res[ changeI ] = 0; changeI++; } } if(changeI == len) break; } delete []res; puts("\nend of one case"); }
相关文章推荐
- 电话号码对应的英文单词 手机数字短信翻译小工具 数字输入法初型 需求“ya tou”咋写程序实现翻译成“丫头”,有哪位有思路的请指教。
- 《编程之美》 - 3.2 电话号码对应英文单词 (发现书上递归解法的错误)
- 每天一个小程序之python实现统计英文单词出现个数
- 《编程之美》——3.2电话号码对应英语单词
- 编程之美:3.2电话号码对应英语单词
- PAT程序设计考题——甲级1005 数字按位累加(非负数字按位累加和转化成对应英文单词)
- 《编程之美》3.2 电话号码对应英语单词(从状态空间树来DFS)
- 编程之美-电话号码对应的英文单词
- 【编程之美题目】电话号码对应英语单词(非递归办法控制for循环个数)
- 电话号码与英文单词对应
- 编程之美:电话号码对应单词 多重for循环转化为while语句
- 编程之美--3.2电话号码对应英文单词
- 编程之美-电话号码对应英文单词方法整理
- 编程之美3.2 电话号码对应英语单词
- 电话号码对应英语单词(编程之美3.2)
- 电话号码对应英文单词
- 编程之美第三章-3.2-电话号码以及对应的单词
- 《编程之美》——电话号码对应英语单词
- 汇编程序:输出对应的英文单词
- 实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。