1. 程式人生 > >演算法提高 單詞個數統計

演算法提高 單詞個數統計

問題描述

  編寫一個程式,輸入一個字串(長度不超過80),然後統計出該字串當中包含有多少個單詞。例如:字串“this is a book”當中包含有4個單詞。   輸入格式:輸入一個字串,由若干個單片語成,單詞之間用一個空格隔開。   輸出格式:輸出一個整數,即單詞的個數。   輸入輸出樣例   使用者輸入資料樣例:   this is a book   系統輸出資料如下:   4

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{
//    string s, t ,maxt;
    int j=0, max = 0;

//    getline(cin, s);


    char* t;
    char s[100000];
    char *maxt;

    gets(s);
    //getchar();

    t = strtok(s, " ");

    while(t)
    {
        max ++;
        //    cout << strlen(t) << endl;
        //if(max < strlen(t))
        {
            maxt = t;
      //      max = strlen(t);
            //          cout << t << " " << maxt << endl;
        }
        t = strtok(NULL, " ");
    }

    cout << max << endl;
    //下面註釋掉的最後一個單詞不能maxt
    //   cout << s << endl;
/*    for(int i=0; s[i]; i++)
    {          cout << t << j << endl;
        if(s[i+1] == '\n')
        {
 //           cout << t << j << endl;
            if(max < j)
            {
                max = j;
                maxt = t;
            }
        }
        if(s[i] != ' ')
        {
            t += s[i];
            j++;
        }
        else if(s[i] == ' ' )
        {
           cout << t << j << endl;
            if(max < j)
            {
                max = j;
                maxt = t;
                t = "";
                j = 0;
            }
        }
    }
    cout << maxt << endl;
*/
    return 0;
}