C++中常用字符串相关的编程题
生活随笔
收集整理的這篇文章主要介紹了
C++中常用字符串相关的编程题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
索引
找出字符串中的數字,字母和符號,并分別存儲
找出字符串中所有不重復的字符,并輸出
統計字符串中每個字符的個數,并輸出
編譯環境
以下所用的開發環境是vs2010,創建的都為控制臺輸出程序。下面只貼出創建項目后修改了的cpp文件,即主要實現,其它文件保持自動生成的不變。
示例1-找出字符串中的數字,字母和符號,并分別存儲
項目結構
具體的實現如下:
// sortTest.cpp : 定義控制臺應用程序的入口點。 //#include "stdafx.h" #include <iostream> #include <vector> #include <stdlib.h>using namespace std;/************************************************************************/ /* 找出字符串中的數字,字母和符號,并分別存儲 * 不足:輸出的數字是其數字字符的十進制,沒有按照字符輸出/ /************************************************************************/int getCharType(char c) {int nType = 0;if(c >= 48 && c <= 57){nType = 1;}else if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'){nType = 2;}else{nType = 3;}return nType; }void storeToVec(const char c,vector<int> &nVec,vector<char> &cVec,vector<char> &scpaceVec){int type = getCharType(c);switch(type){case 1:nVec.push_back(c);break;case 2:cVec.push_back(c);break;case 3:scpaceVec.push_back(c);break;default:break;} }template<typename T> void printVec(const vector<T> vec){cout<<"================================="<<endl;vector<T>::const_iterator it = vec.begin();for (;it != vec.end();++it){cout<<(char)*it<<"\t";}cout<<endl; }void sortString(const char *parr){int i = 0;vector<int> nVec;//存儲0-9數字vector<char> cVev;//存儲a-z或A-Z的字符vector<char> spaceVec;//存儲回車符等while (parr[i] != '\0'){storeToVec(parr[i],nVec,cVev,spaceVec);++i;}printVec<int>(nVec);printVec<char>(cVev);printVec<char>(spaceVec); }int _tmain(int argc, _TCHAR* argv[]) {const char array[] = "sdgygy7764s22dfsjhhj#!@kdf*";sortString(array);system("pause");return 0; }運行結果如下:
示例2-找出字符串中所有不重復的字符,并輸出
項目結構
實現代碼如下:
運行結果如下:
示例3-統計字符串中每個字符的個數,并輸出
項目結構
實現代碼如下:
運行結果如下:
示例3的第二種實現:
運行結果
總結
以上是生活随笔為你收集整理的C++中常用字符串相关的编程题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中蜂几月份自然分蜂_蜜蜂的种类:北黑蜂,
- 下一篇: Qt中视图的缩放对应缩略图中矩形框的缩放