Description
给定一串长度不超过20的字符串
BFPV表示为1
CGJKQSXZ表示为2
DT表示为3
L表示为4
MN表示为5
R表示为6
AEIOUHWY什么也不表示
如果这一位表示的跟前一位表示的相同,则不输出
Input
多组数据,每组一行,为字符串
Output
每组数据输出一个翻译过来的数字串
Sample Input
KHAWN
PFISTER
BOBBY
Sample Output
25
1236
11
Solution
简单字符串处理
Code
#include<stdio.h>
#include<string.h>
int main()
{
int i,len,res,b[100],a[100];
char c[100];
while(gets(c))
{
len=strlen(c);
for(i=0;i<len;i++)
{
if(c[i]=='B'||c[i]=='F'||c[i]=='P'||c[i]=='V')
b[i]=1;
else if(c[i]=='C'||c[i]=='G'||c[i]=='J'||c[i]=='K'||c[i]=='Q'||c[i]=='S'||c[i]=='C'||c[i]=='X'||c[i]=='Z')
b[i]=2;
else if(c[i]=='D'||c[i]=='T')
b[i]=3;
else if(c[i]=='L')
b[i]=4;
else if(c[i]=='M'||c[i]=='N')
b[i]=5;
else if(c[i]=='R')
b[i]=6;
else
b[i]=0;
}
for(i=0,res=0;i<len;i++)
if(b[i]>0)
if(i>=1&&b[i]!=b[i-1]||i==0)
a[res++]=b[i];
for(i=0;i<res;i++)
printf("%d",a[i]);
printf("\n");
}
return 0;
}