题目:
输入一个字符串,判断有多少个子串。
输入: a ds dga ada a asdf
输出:6
思路:根据空格的数量来计算子串的数量,多个空格按一个计算
//计算空格的数量
int SpaceCnt(char *str)
{
bool bSpace = false;
int iLen = strlen(str);
int iCnt = 0;
for (int i = 0; i < iLen;++i)
{
if (str[i]==' ')
{
if (!bSpace)
{
iCnt++;
}
bSpace = true;
}
else
{
bSpace = false;
}
}
//最后还带有空格
if (bSpace)
{
iCnt--;
}
//如果一开始就有空格
if (str[0] == ' ')
return iCnt;
return iCnt + 1; //字段数量等于空格数量+1
}
int _tmain()
{
char str[1000] = { 0 };
gets(str);
cout << SpaceCnt(str) << endl;
system("pause");
return 0;
}