問題描述
編寫乙個程式,輸入乙個字串,然後採用如下的規則對該字串當中的每乙個字元進行壓縮:
(1) 如果該字元是空格,則保留該字元;
(2) 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元;
(3) 否則,刪除該字元。
例如,若使用者輸入「occurrence」,經過壓縮後,字元c的第二次出現被刪除,第一和第三次出現仍保留;字元r和e的第二次出現均被刪除,因此最後的結果為:「ocurenc」。
輸入格式:輸入只有一行,即原始字串。
輸出格式:輸出只有一行,即經過壓縮以後的字串。
樣例輸入
occurrence
樣例輸入
ocurenc
題目思路
結構體存放單個字元與其出現的個數,再迴圈遍歷該串進行相應的操作即可
#include
#include
int many=0;
struct charstrchstr[
100]
;void
del(
char
*str,
int i,
int len)
intinitstruct
(char temp)
} chstr[many]
.str=temp;
chstr[many]
.flag=1;
many++
;return i;
}int
main()
}}for(i=
0;i<
strlen
(str)
;i++
)printf
("%c"
,str[i]);
return0;
}
藍橋杯 演算法提高 字串壓縮 C 解題
編寫乙個程式,輸入乙個字串,然後採用如下的規則對該字串當中的每乙個字元進行壓縮 1 如果該字元是空格,則保留該字元 2 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元 3 否則,刪除該字元。例如,若使用者輸入 occurrence 經過壓縮後,字元c的第二次出現被刪除,第一和第三次出現...
藍橋杯 ADV 301 演算法提高 字串壓縮
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 編寫乙個程式,輸入乙個字串 其實是一行,包括ascii上可見的各種字元 然後採用如下的規則對該字串當中的每乙個字元進行壓縮 1 如果該字元是空格,則保留該字元 2 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元 3 否...
藍橋杯演算法提高 週期字串
思路 相信大家都很容易想到,根據字串的長度,求出所有約數,然後按照約數的順序來檢驗 但是檢驗的策略非常重要,最重要的兩點就是 1 對每個不同長度週期的字串,最多隻判斷一次.2 如果長度為n的字串在原串的週期檢驗中不成立,則長度為n的約數的字串也不會成立 根據上述的結論,我們可以大概感覺到,我們不僅要...