演算法思路:
假設當前待處理字元位於目標字元陣列的snow處,當前結果字元陣列的可用位置為pnow,檢查是否出現連續相同字元,如果出現,則將最長連續相同字元放入pnow開始的連續可用位置;如果不出現,則取snow處字元與結果字元(pnow-1)到0處的字元對比,使用乙個變數作為指示,如果沒有找到匹配,該變數值為-1;如果找到,這變數值為匹配值所在位置。使用變數mismatch標識是否匹配到。如果匹配到則處理下乙個未處理字元,如果未匹配到,則將該字元裝入結果字元陣列的pnow處。
以下**在xcode 4.6.3上編譯通過
#include #include typedef enum _boolbool;
int main(int argc, const char * argv)
elseelse mismatch = no;
if(mismatch)
++snow;}}
processed[pnow]='\0';
printf("%s",processed);
return 0;
}
結果:ajsdjjjjddddssspotf
刪除重複字元
本題要求編寫程式,將給定字串去掉重複的字元後,按照字元ascii碼順序從小到大排序後輸出。輸入格式 輸入是乙個以回車結束的非空字串 少於80個字元 輸出格式 輸出去重排序後的結果字串。輸入樣例 ad2f3adjfeainzzzv輸出樣例 23adefijnvz include include voi...
0010 刪除重複字元
7 23 刪除重複字元 20 分 本題要求編寫程式,將給定字串去掉重複的字元後,按照字元ascii碼順序從小到大排序後輸出。輸入格式 輸入是乙個以回車結束的非空字串 少於80個字元 輸出格式 輸出去重排序後的結果字串。輸入樣例 ad2f3adjfeainzzzv 輸出樣例 23adefijnvz 注...
PTA 刪除重複字元
本題要求編寫程式,將給定字串去掉重複的字元後,按照字元ascii碼順序從小到大排序後輸出。輸入是乙個以回車結束的非空字串 少於80個字元 輸出去重排序後的結果字串。ad2f3adjfeainzzzv 23adefijnvz 題目只是說非空字串,所以要用getline 不要用cin,使用set cha...