华为oj:计算字符串最后一个单词的长度,单词用空格隔开

/*
描述
计算字符串最后一个单词的长度,单词以空格隔开。
知识点 字符串,循环
运行时间限制 0M
内存限制 0
输入 一行字符串,长度小于128。
输出 整数N,最后一个单词的长度。
样例输入 hello world
样例输出 5*/

#include<iostream>
#include<string>
using namespace std;

int main(){
    string str;
    getline(cin, str);
    int length_word = 0;            // 单词长度 
    int spaceSum = 0;               // 非字母的字符 
    for (int i = str.size() - 1; i >= 0; --i){
    if ((str[i] == ' ') || (!isalpha(str[i])))
        {
            spaceSum++;
        }
    else
        break;
    }
    for (int i = str.size() - spaceSum - 1; i >= 0; --i){
        if ((str[i] == ' ') || (!isalpha(str[i]))){
            break;
        }
        else{
           length_word++;
        }
    }
    cout << length_word << endl;
    return 0;
}

你可能感兴趣的:(华为oj-C++)