计算字符串中包含的单词数

来源:互联网 发布:大数据平台的数据交换 编辑:程序博客网 时间:2024/04/30 01:56


#include<stdio.h>
#include<iostream>

using namespace std;

int latternumber(char*str)
{
    int i, count = 0;
    int flag ;
    char* p = str;
    while (*p!='\0')
    {
        if ((*p >= 'A'&&*p <= 'Z') || (*p >= 'a'&&*p <= 'z'))
            flag = 1;
    /*        else
                flag=0;          
        if (flag == 0)               这种方法无法保证如果有连续两个空格或标点,count也会增加
                                            然而连续两个空格去不会增加单词的个数。而下边这种算法
                                             即使是连续出现两个空格,由于是flag++,flag却加到了3,
                                             用flag==2就可判断出来                                    
            count++;
            */

    else
            flag++;
        if(flag==2)
            count++;
        *p++;
    }
    return count;
}
int main()
{
    char str[] = "this    is a test!! ";
    cout << str << endl;
    int count=latternumber(str);
    cout << "the number of latter is:" << count << endl;
        return 0;
}



0 0
原创粉丝点击