字符串处理_Soundex编码

2022-06-28 19:06:01 浏览数 (1)

本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。

代码语言:javascript复制
#include<iostream>
#include <stdio.h>
using namespace std;
int main() 
{
	char ch[21];
	int i,j,s[21],k;
	while(gets(ch)!=NULL){
		i=0;j=0;
		while(ch[i]!=''){
			switch (ch[i]){					
				case 'B':case 'F':case 'P':case 'V':{
					s[j]=1;
					j  ;
					break;
				}
				case 'C':case 'G':case 'J':case 'K':case 'Q':
				case 'S':case 'X':case 'Z':{
					s[j]=2;
					j  ;
					break;
				}
				case 'D':case 'T':{
					s[j]=3;
					j  ;
					break;
				}
				case 'L':{
					s[j]=4;
					j  ;
					break;
				}
				case 'M':case 'N':{
					s[j]=5;
					j  ;
					break;
				}
				case 'R':{
					s[j]=6;
					j  ;
					break;
				}
				case 'A':case 'E':case 'I':case 'O':
				case 'U':case 'W':case 'Y':{
					s[j]=0;
					j  ;
					break;
				}			
			}
			i  ;
			//cout<<s[j-1];
		}
		k=0;
		for(j=0;j<i;j  ){
			if(s[j]==0){
				k=s[j];
			}
			else{
				if(s[j]!=k){
					//s[i1]=s[j];
					//i1  ;
					cout<<s[j];
					k=s[j];
				}
			}
		}
		cout<<endl;
		
		
	}
	return 0;	
}

Post Views: 294

0 人点赞