百度笔试题---一个简单的递归实现

由 a-z 0-9 字符构成的三位数密码,要求打印出所有的密码。

 

 1     #include <iostream>  
 2     #include <string.h>  
 3     #include <stdio.h>  
 4     #include <memory.h>  
 5     using namespace std;  
 6       
 7     char data[] = "abcd";  
 8     int len = strlen(data);  
 9     char outa[4] = "";  
10     //memset(outa,0,sizeof(outa));  
11     void printnum(int x)  
12     {  
13         if(x == 4)  
14         {  
15             printf("%s\n",outa);  
16             return ;  
17         }  
18         int i;  
19         for(i=0;i<len;i++)  
20         {  
21             outa[x-1] = data[i];  
22             printnum(x+1);  
23         }  
24     }  
25       
26     int main()  
27     {  
28         printnum(1);  
29         return 0;  
30     }  

 

 

 

posted on 2012-12-13 21:34  猿人谷  阅读(342)  评论(0编辑  收藏  举报