在 C++ 中打印连续字符


在这个问题中,我们得到一个字符字符串,我们必须以这样的方式打印相同的字符串:如果两个或多个字符是连续的,则在一行中一起打印它们;否则,在不同的行中打印它们,即换行。

让我们举个例子来更好地理解这个概念:

Input : abcxstk
Output :
abc
x
st
k

说明 − 由于 **abc** 是按顺序排列的,因此它们在一行中打印。然后是 x,它不是按顺序排列的,因此我们在这里添加一个换行符。接下来是 s,它与 x 不按顺序排列,因此我们添加一个换行符。接下来是 t,它与 s 按顺序排列,因此按顺序打印。接下来是 k,它与 t 不按顺序排列,因此我们添加一个换行符。

在这里,我们将检查字符串中一个元素与其前一个元素。如果它们按顺序排列,则正常打印。否则,用 **换行符** 打印元素。

示例

现在,让我们根据此逻辑创建一个程序

 在线演示

#include <iostream>
using namespace std;
int main(){
   string str = "stukfrpq";
   cout << str[0];
   for (int i=1; str[i]!='\0'; i++){
      if ((str[i] == str[i-1]+1) || (str[i] == str[i-1]-1))
         cout << str[i];
      else
         cout << "\n" << str[i];;
   }
   return 0;
}

输出

stu
k
f
r
pq

更新于:2020-01-03

232 次查看

开启你的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.