一道C机试题目

来源:互联网 发布:金融网络销售靠谱吗 编辑:程序博客网 时间:2024/04/30 13:45

题目是这样的

求一个字符串中连续字母的个数

比如I have a book. : 1

I have a dog. : 0

I haavee aa dogg : 4


#include <windows.h>#include <iostream>using namespace std;void GetDupStringCount( const char* pStr, int &iOut ){if( !pStr )return;int iLen = strlen( pStr );if( !iLen )return;char cValue = *pStr;int iNumCount = 0;//重复个数iOut = 0;//设置为0int iIndex = 0;//当前索引while( iLen-- ){if( !( ( cValue >= 'a' && cValue <= 'z' ) || ( cValue >= 'A' && cValue <= 'Z' ) ) ){cValue = *( pStr + ++iIndex );iNumCount = 0;continue;}if( cValue == *( pStr + iIndex ) ){iNumCount++;}else{cValue = *( pStr + iIndex );if( iNumCount > 1 ){iOut++;iNumCount = 0;--iIndex;}}iIndex++;}}int main( int argc, char* argv[] ){char szStr[] = " I haveee  a book!   ";int iOut = -1;GetDupStringCount( szStr, iOut );cout << iOut << endl;return 0;}