演算法訓練 字串變換

2021-07-27 21:22:24 字數 1029 閱讀 2989

時間限制:1.0s   記憶體限制:256.0mb

提交此題    

問題描述

相信經過這個學期的程式設計訓練,大家對於字串的操作已經掌握的相當熟練了。今天,徐老師想測試一下大家對於字串操作的掌握情況。

徐老師自己定義了1,2,3,4,5這5個引數分別指代不同的5種字串操作,你需要根據傳入的引數,按照徐老師的規定,對輸入字串進行格式轉化。

徐老師指定的操作如下:

1 表示全部轉化為大寫字母輸出,如abc 變成 abc

2 表示全部轉換為小寫字母輸出,如abc變成abc

3 表示將字串整個逆序輸出,如 abc 變成 cba

4 表示將字串中對應的大寫字母轉換為小寫字母,而將其中的小寫字母轉化為大寫字母輸出,如 abc變成abc

5表示將全部轉換為小寫字母,並將其中所有的連續子串轉換為對應的縮寫形式輸出,比如abcd 轉換為a-d,其次,-至少代表1個字母,既如果是ab,則不需要轉換為縮寫形式。

輸入格式

一共一行,分別是指代對應操作的數字和字串,兩者以空格分隔,字串全部由英文本母組成

輸出格式

輸出根據上述規則轉換後對應的字串

樣例輸入

5 abcdee

樣例輸出

a-ee

資料規模和約定

輸入字串長度最長為200。

#includeusing namespace std;

int len=0;

void turn(char *c, int order)

int main()

else if(n==4)

for(i=0; iif(c[i]<='z' && c[i]>='a')c[i]-=32;

else c[i]+=32;

for(i=0; icout<}

if(n==5)else

if(j>=2)cout<<'-';

cout<}else for(i=0; icout<}

return 0;

}

演算法訓練 字串編輯

演算法訓練 字串編輯 時間限制 1.0s 記憶體限制 512.0mb 問題描述 從鍵盤輸入乙個字串 長度 40個字元 並以字元 結束。編輯功能有 1 d 刪除乙個字元,命令的方式為 d a 其中a為被刪除的字元,例如 d s 表示刪除字元 s 若字串中有多個 s 則刪除第一次出現的。2 i 插入乙個...

演算法訓練 字串統計

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

演算法訓練 字串統計

這道題看懂了一點不難,用笨方法暴力就能解決。本來想著我的暴力方法不好,但和另乙個大神的 比較後發現,我的執行速度竟然快些。所以就來分享一下 了 演算法訓練 字串統計 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的...