1、字符串最后一个单词的长度
程序员文章站
2024-02-26 13:40:40
...
题目描述
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
C++ code:
#include <iostream>
#include "string.h"
using namespace std;
#define MAX 5000
int main()
{
char str[MAX];
cin.getline(str, MAX);
int sum = strlen(str);
int index = sum;
char c = str[sum-1];
while (c!=' '&& index > 0)
{
index--;
c = str[index - 1];
}
cout << sum - index << endl;
return 0;
}
代码思路
1、先确定输入的数据的长度sum
2、从最后一个元素逆序遍历,直到找到空格位置,并且保存索引值index。
3、那么最后一个单词的长度就是sum-index。
Tip:
如果只输入一个单词的话,没有找到空格怎么办?
while (c!=’ ‘&& index > 0)
添加了 index > 0的条件,完美解决~
BT version:(针对性比较强)
#include<iostream>
using namespace std;
int main(){
string str;
while(cin>>str);
cout<<str.length();
return 0;
}