一道来自华为的C机试题目
题目是这样的
求一个字符串中连续字母的个数
比如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;//设置为0
	int 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;
}
 
 
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号