打印字符串中每个单词的首字符和尾字符
引言
C++ 字符串是字母数字字符以及特殊字符的连续存储。字符串具有以下属性:
每个 C++ 字符串都与一个固定长度相关联。
可以使用字符串字符轻松执行字符操作。
字符串由单词组成,单词之间用空格分隔。
在本文中,我们将开发一段代码,该代码以字符串作为输入,并显示字符串中每个单词的最后一个字符。让我们看下面的例子来更好地理解这个主题:
示例
示例 1:
str − “Key word of a string”
Output − Ky wd of aa sg
例如,在这个字符串的第四个单词中,只有一个字符“a”,因此这是这个字符串的首字符和尾字符。
在本文中,我们将开发一段代码,使用索引运算符提取每个单词的最后一个字符。在这里,我们将开发一段代码,使用索引运算符提取每个单词的最后一个字符,然后分别访问后续的前面字符。
语法
str.length()
length()
C++ 中的 length() 方法用于计算字符串中的字符数。内置的 length() 方法在线性时间内工作。
算法
接受输入字符串 str。
使用 length() 方法计算字符串的长度,并将其存储在 len 变量中。
使用 for 循环 i 对字符串进行迭代。
提取字符串的特定字符并将其存储在变量 ch 中。
每次都提取第 i 个位置的字符
如果此索引等效于字符串的第一个索引,则打印它
如果此索引等效于字符串的最后一个索引,则显示 len-1 字符。
如果此字符等效于空格字符,则显示 i-1 索引字符,因为它是前一个单词的最后一个字符。
由于下一个单词的第一个字符,也打印 i+1 索引。
示例
以下 C++ 代码片段用于将示例字符串作为输入,并计算字符串中每个单词的首字符和尾字符:
//including the required libraries #include<bits/stdc++.h> using namespace std; //compute the first and last characters of a string void wordfirstandlastchar(string str) { // getting length of the string int len = str.length(); for (int i = 0; i <len ; i++) { char ch = str[i]; //print the first word of the string if (i == 0) cout<<ch; //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 //print the next character of the next word char lst = str[i-1]; char nxt = str[i+1]; cout<<lst<<" "<<nxt; } } } //calling the method int main() { //taking a sample string string str = "I want to learn at TutorialsPoint"; cout<<"Input String : "<< str <<"\n"; //getfirstandlast characters cout<<"First and last words of each string : \n"; wordfirstandlastchar(str); }
输出
Input String − I want to learn at TutorialsPoint First and last words of each string − II wt to ln at Tt
结论
大多数 C++ 字符串中的字符操作可以使用对字符串的单次遍历来执行。可以使用字符在字符串中的位置在恒定时间内轻松访问字符串的字符。字符串的索引从 0 开始,到字符串长度-1 值结束。
广告