在 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.