字串統計

2021-10-04 01:27:38 字數 2843 閱讀 4588

問題描述 :

明明最近在做乙個有關字串的統計工作。兩個由小寫字母組成的字串s1和s2,明明需要統計出以下四種關係:

(1)在s1或s2中存在的字母(包括在s1和s2中都存在的字母);

(2)在s1中且在s2中的字母;

(3)在s1中但不在s2中的字母,在s2中但不在s1中的字母;

(4)不在s1中且也不在s2中的字母;

例如兩個字串s1為「lkjs***hs」,s2為「qglhskjdfg」:

(1)在s1或者在s2或者s1、s2中都存在的字母:adfghjkloqsv;

(2)在s1中且在s2中的字母:hjkls;

(3)在s1中但不在s2中的字母,在s2中但不在s1中的字母:adfgoqv;

(4)不在s1中且也不在s2中的字母:bceimnprtuwxyz;

明明統計了很久,但是由於統計過程十分繁瑣,且很容易出錯,導致明明的進度非常慢,很有可能因為統計不完而錯過了晚上的約會。因此明明想請你幫個忙,幫他寫乙個程式,用程式來統計出以上幾項內容。

明明的問題可以歸結為:

輸入兩串由小寫字母組成的字串s1和s2,比較其中的字母,輸出以下四項,輸出的字母以字典順序排列:

(1)在s1或s2中存在的字母(包括在s1和s2中都存在的字母);

(2)在s1中且在s2中的字母;

(3)在s1中但不在s2中的字母,在s2中但不在s1中的字母;

(4)不在s1中且也不在s2中的字母;

例如字串s1為sadf,s2為asdf,則需輸出以下四行(注意輸出的格式):

in s1 or s2:adfs

in s1 and s2:adfs

in s1 but not in s2 ,or in s2 but not in s1:

not in s1 and s2:bceghijklmnopqrtuvwxyz

輸入說明 :

你寫的程式要求從標準輸入裝置中讀入測試資料作為你所寫程式的輸入資料。標準輸入裝置中有多組測試資料,每組測試資料兩行,每組測試資料的第一行為字串s1,每組測試資料的第二行為字串s2;s1和s2都由小寫英文本母組成,且長度不超過26個字元。測試資料與其後一組測試資料之間沒有任何空行,第一組測試資料前面以及最後一組測試資料後面也都沒有任何空行。

輸出說明:

對於每一組測試資料,你寫的程式要求計算出一組相應的運算結果,並將這一組運算結果作為你所寫程式的輸出資料依次寫入到標準輸出裝置中。

每組運算結果由四行組成:

第一行為在s1或者在s2或者s1、s2中都存在的字母;

第二行為在s1中且在s2中的字母;

第三行為在s1中但不在s2中的字母,在s2中但不在s1中的字母;

第四行為不在s1中且也不在s2中的字母;

具體格式請參考樣例輸出。

每組運算結果其行首和行尾都沒有任何空格,每組運算結果與其後一組運算結果之間有乙個空行,最後一組運結果後面沒有空行。

注:通常,顯示屏為標準輸出裝置。

輸入範例 :

sadf

asdf

lkjs***hs

qglhskjdfg

輸出範例 :

in s1 or s2:adfs

in s1 and s2:adfs

in s1 but not in s2 ,or in s2 but not in s1:

not in s1 and s2:bceghijklmnopqrtuvwxyz

in s1 or s2:adfghjkloqsv

in s1 and s2:hjkls

in s1 but not in s2 ,or in s2 but not in s1:adfgoqv

not in s1 and s2:bceimnprtuwxyz

#include

#include

char str[2]

[27];

char s[27]

="abcdefghijklmnopqrstuvwxyz"

;void

solve1

(char s1,

char s2,

int len1,

int len2)

}for

(int j=

0;jif(flag)

}printf

("\n");

}void

solve2

(char s1,

char s2,

int len1,

int len2)

}for

(int j=

0;jif(flag==2)

}printf

("\n");

}void

solve3

(char s1,

char s2,

int len1,

int len2)

}for

(int j=

0;jif(flag==

1||flag==-1

)}printf

("\n");

}void

solve4

(char s1,

char s2,

int len1,

int len2)

}for

(int j=

0;jif(flag!=1)

}printf

("\n");

}int

main

(void

)return0;

}

統計字串

題目 計算字串中字母 數字 其他字元的個數。datas segment buf db 80 len db string db 80 dup 32 crlf db 13,10,displ db the amount of letters is 13,10,dispd db the amount of ...

字串統計

演算法訓練 字串統計 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且...

字串統計

time memory limit 1000 ms 32768 k submitted 2163 accepted 973 對於給定的乙個字串 長度小於1000 統計其中大小寫字母字元出現的次數。輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串...