66 字串統計

2021-10-04 04:32:59 字數 3011 閱讀 7081

66 字串統計

問題描述 :

明明最近在做乙個有關字串的統計工作。兩個由小寫字母組成的字串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

#include

intmain()

memset

(s1,-1

,sizeof

(s1));

memset

(s2,-1

,sizeof

(s2));

memset

(temp,-1

,sizeof

(temp));

memset

(unin,-1

,sizeof

(unin));

memset

(intersection,-1

,sizeof

(intersection));

lena=

strlen

(str1)

; lenb=

strlen

(str2)

;// 並集

for(i=

0;i)for

(i=0

;i)printf

("in s1 or s2:");

for(i=

0;i<

26;i++)}

printf

("\n");

//s1 and s2 交集

for(i=

0;i<

26;i++)}

printf

("in s1 and s2:");

for(i=

0;i<

26;i++)}

printf

("\n");

// 並集減交集

printf

("in s1 but not in s2 ,or in s2 but not in s1:");

for(i=

0;i<

26;i++)}

printf

("\n");

//printf

("not in s1 and s2:");

for(i=

0;i<

26;i++)}

printf

("\n");

flag=1;

}return0;

}

1227 字串統計

1227 字串統計 description 對於給定的乙個字串,統計其中數字字元出現的次數。input 輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串。output 對於每個測試例項,輸出該字串中數值的個數,每個輸出佔一行。sample in...

1075 字串統計

對於給定的乙個字串,統計 其中重複出現過得數字字元的的個數。例如 字串asdfasdf123123asdfasdf中的數字字元1 2 3都重複出現過,所以應該輸出3 字串asdf111111111asdfasdfasdf中只有數字字元1重複出現過,所以輸出1。注意 重複出現的數。輸入資料有多行,第一...

5 6字串的統計字串

題目 給定乙個字串str,返回str的統計字串。補充題目 給定乙個字串的統計字串cstr,再給定乙個整數index,返回cstr所代表的原始字串上的第index個字元。實現public class getcountstring string res string.valueof str.charat...