日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Soundex编码

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Soundex编码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

Soundex編碼是將基于它們的拼寫聽起來相同的單詞歸類在一起。例如,“can”和“khawn”,“con”和“gone”在Soundex編碼下是等價的。
Soundex編碼涉及將每個單詞轉換成一連串的數字,其中每一個數字代表一個字母:
1表示B、F、P或V
2表示C、G、J、K、Q、S、X或Z
3表示D或T
4表示L
5表示M或N
6表示R
字母A、E、I、O、U、H、W和Y在Soundex編碼中不被表示,并且如果存在連續的字母,這些字母是用相同的數字表示的,那么這些字母就僅用一個數字來表示。具有相同Soundex編碼的單詞被認為是相等的。

輸入
輸入的每一行給出一個單詞,全大寫,少于20個字母長

輸出
對每行輸入,輸出一行,給出Soundex編碼。

輸入樣例
KHAWN
PFISTER
BOBBY

輸出樣例
25
1236
11
.
.
.
.
.
.
分析
一道水題
注意:
字母A、E、I、O、U、H、W和Y在Soundex編碼中不被表示,并且如果存在連續的字母,這些字母是用相同的數字表示的,那么這些字母就僅用一個數字來表示
.
.
.
.
.
程序:

#include<iostream> #include<cstdio> #include<cstring> using namespace std; string s; int work(int w) {char x=s[w];int ans=0,ans1=0;if (x=='B'||x=='F'||x=='P'||x=='V') ans=1; elseif (x=='C'||x=='G'||x=='J'||x=='K'||x=='Q'||x=='S'||x=='X'||x=='Z') ans=2; elseif (x=='D'||x=='T') ans=3; elseif (x=='L') ans=4; elseif (x=='M'||x=='N') ans=5; elseif (x=='R') ans=6;if (w==0) return ans;x=s[w-1];if (x=='B'||x=='F'||x=='P'||x=='V') ans1=1; elseif (x=='C'||x=='G'||x=='J'||x=='K'||x=='Q'||x=='S'||x=='X'||x=='Z') ans1=2; elseif (x=='D'||x=='T') ans1=3; elseif (x=='L') ans1=4; elseif (x=='M'||x=='N') ans1=5; elseif (x=='R') ans1=6;if (ans==ans1) return 0; else return ans; }int main() {while (cin>>s){string zfc="";int u=work(0);if (u!=0) zfc=zfc+((char)(u+'0'));int i=1,l=s.length() -1;while (i<=l){u=work(i);if (u!=0) zfc=zfc+((char)(u+'0'));i++;}cout<<zfc<<endl;}return 0; }

轉載于:https://www.cnblogs.com/YYC-0304/p/10292826.html

總結

以上是生活随笔為你收集整理的Soundex编码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。