5.5

来源:互联网 发布:c语言define什么意思 编辑:程序博客网 时间:2024/05/01 14:55

/*******5.5*********************/
#include <stdio.h>
#include <string.h>
#define uint unsigned int


void Exchange(char *str,uint i,uint j,char *p)
{
 switch(str[i])
 {
 case '2':switch(j)
    {
    case 1:p[i]='A';break;
    case 2:p[i]='B';break;
    case 3:p[i]='C';
    }
  break;
 case '3':switch(j)
    {
    case 1:p[i]='D';break;
    case 2:p[i]='E';break;
    case 3:p[i]='F';
    }
  break;
 case '4':switch(j)
    {
    case 1:p[i]='G';break;
    case 2:p[i]='H';break;
    case 3:p[i]='I';
    }
  break;
 case '5':switch(j)
    {
    case 1:p[i]='J';break;
    case 2:p[i]='K';break;
    case 3:p[i]='L';
    }
  break;
 case '6':switch(j)
    {
    case 1:p[i]='M';break;
    case 2:p[i]='N';break;
    case 3:p[i]='O';
    }
  break;
 case '7':switch(j)
    {
    case 1:p[i]='P';break;
    case 2:p[i]='R';break;
    case 3:p[i]='S';
    }
  break;
 case '8':switch(j)
    {
    case 1:p[i]='T';break;
    case 2:p[i]='U';break;
    case 3:p[i]='V';
    }
  break;
 case '9':switch(j)
    {
    case 1:p[i]='W';break;
    case 2:p[i]='X';break;
    case 3:p[i]='Y';
    }
 }
}

void List(char *str,uint k,char *p)
{
 uint j;
 if(k==strlen(str))
 {
  printf("%s/n",p);
 }
 else
 {
  for(j=1;j<=3;j++)
  {
   Exchange(str,k,j,p);
   List(str,k+1,p);
  }
 }
}

void ListMnemonics(char *str)
{
 char ch[10]={0};
 List(str,0,ch);
 return;
}

void main()
{
 ListMnemonics("234");
}

原创粉丝点击