C++ 打印字符串中每个单词的最后一个字符
介绍
C++字符串本质上是包含字母数字数据的存储单元的单词组合。字符串中的单词与以下属性相关联 –
- 单词位置从0开始。
-
每个单词与不同的长度相关联。
-
字符组合在一起形成单词,最终形成句子。
-
默认情况下,单词由空格字符分隔。
-
每个单词至少包含一个字符。
在本文中,我们将开发一段代码,其输入为一个字符串,并显示字符串中每个单词的最后一个字符。让我们看一下以下示例以更好地理解这个主题 –
示例
示例1 –
str − “Key word of a string”
Output − y d f a g
例如,在该字符串的第四个单词中,只有一个字符出现,因此这是该字符串的最后一个字符。
在本文中,我们将开发一个代码来提取每个单词的最后一个字符,使用索引运算符,然后按顺序访问之前的字符。
语法
str.length()
length()
C++中的length()方法用于计算字符串中的字符数。它按照字符串顺序运行。
步骤
- 接受一个输入字符串str。
-
使用length()方法计算字符串的长度,并将其存储在变量len中。
-
使用for循环i迭代字符串。
-
每次提取第i个位置的字符,并将其存储在变量ch中。
-
如果该字符等于字符串的最后一个索引,即len-1,则显示该字符。
-
如果该字符等于空格字符,则显示第i-1个索引字符,因为它是前一个单词的最后一个字符。
示例
下面的C++代码段用于输入一个示例字符串并计算该字符串中每个单词的最后一个字符 –
//including the required libraries
#include<bits/stdc++.h>
using namespace std;
//compute last characters of a string
void wordlastchar(string str) {
// getting length of the string
int len = str.length();
for (int i = 0; i <len ; i++) {
char ch = str[i];
//last word of the string
if (i == len - 1)
cout<<ch;
//if a space is encountered, marks the start of new word
if (ch == ' ') {
//print the previous character of the last word
char lst = str[i-1];
cout<<lst<<" ";
}
}
}
//calling the method
int main() {
//taking a sample string
string str = "Programming at TutorialsPoint";
cout<<"Input String : "<< str <<"\n";
//getfirstandlast characters
cout<<"Last words of each word in a string : \n";
wordlastchar(str);
}
输出
Input String : Programming at TutorialsPoint
Last words of each word in a string :
g t t
结论
在C++中,字符串的句子格式中所有的单词都是由空格字符分隔的。字符串的每个单词由大写字母和小写字母组成。通过使用它们相应的索引提取这些字符并进行操作非常容易。