字元識別(字串處理)

2021-08-07 02:45:10 字數 1319 閱讀 7866

描述:

中南林業科技大學計算機與資訊工程學院某位老師開發乙個字元識別程式. 這個程式用來將紙質文件轉換為電子版. 很顯然, 這個轉換過程不能保證100%正確, 其中有些字元不能識別. 你的任務是寫乙個程式幫助這位老師計算識別的效率. 識別的效率用公式r/a進行計算,其中r表示被成功識別的字元總數, a表示識別的字元總數. 行尾字元(即換行符)不作為字元看待。 

輸入:

輸入包含幾個測試資料。輸入檔案的第一行為乙個整數n,表示測試資料有n組,每一組測試資料至少有一行經字元識別程式處理過的字串, 其中沒有被成功識別的字元用」#」表示, 每一組測試資料後面都有乙個空行(最後乙個測試資料也不例外), 其它的行不會為空. 每一行不會超過100個字元。 

輸出:

對於每組測試資料,輸出一行, 這行包含乙個語句」 efficiency ratio is x%.」, 其中x表示識別效率的百分比, 採用四捨五入的方式,並且保留小數點後1位小數(即精確到0.1%)。

樣例輸入:

3pr#nt ex##tly one##ine for#eac# te#t c#se.

none.

the i#put consists of

n test ca#es. the number

of th#m (n) is given on

the first #ine

of the#input#file.

樣例輸出:

efficiency ratio is 78.6%.

efficiency ratio is 100.0%.

efficiency ratio is 94.0%.

#include#include#includeusing namespace std;

int main()

{ int n;

string str;

scanf("%d",&n);

getchar();

for(int i=1;i<=n;i++)

{ int all=0,wa=0;

while(getline(cin,str))

{ int len=str.length();

if(len==0) //判斷輸入的是否為空行

break;

all+=len;

for(int i=0;i

模式識別 字元識別演算法設計

由於英文本母有26個,因此在對這26個字母進行識別時要採用多種方式結合進行識別 1 採用是否含有封閉區域來區分 可以分辨出b,d,q,r,o,p,a 具體使用演算法 採用填充演算法,如果不能填充則說明不存在封閉區域 具體演算法 將字母二值化處理,從其中任意一畫素點出發,沿著水平方向 或者垂直方向 辨...

識別字串 Python3

識別字串 是 lintcode 詳見 lintcode介紹 所提供的一道 簡單 級別的面試題,現在我對python3的實現做以簡單分析,如有不妥之處,歡迎指正。給定一組n個僅包含小寫字母的字串,為每個字串找出能夠唯一識別該字串的最小字首 即可以識別a串的最小字首ap,不會是其他n 1個字串的字首。1...

資料逆向(三) 識別字串與陣列

字串 在c語言中,字串是由字元組成,單字元不是字串,至少有兩個字元組成,且結尾字元是 0 例如 abcd 記憶體中實際儲存結構是 41h 42h 43h 44h 00h 字串的定址,依靠首位元組進行暫存器相對定址方式 例如 訪問 abcd 中的第二位元組,byte ptr ebx 1 正是因為字串的...