题目描述:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例:
输入:hello nowcoder
输出:8
解题思路:
既然要输出最后一个单词,那就倒着来统计,一旦遇到空格则完成统计;若只有一个单词,还要加上判断是否完成了整个字符串的遍历,如果全遍历完都没碰到空格,那就只有一个单词。
测试代码:
#include <iostream> #include <cstring> using namespace std; int main() { char s[5001]; // 获取字符串 cin.getline(s, 5001); int number=0; int snumber=strlen(s); // 字符串倒序统计 for(int i=snumber-1;s[i]!=' ';--i) { number++; // 若只有一个单词,需要判断下 if(i==0) break; } cout<<number<<endl; return 0; }