在这个问题中,我们给了一个字符串,我们必须以这样的方式打印相同的字符串:如果两个或多个字符是连续的,则将它们一起打印在一行中,否则将它们打印在不同的行中,即换行。
让我们举个例子来更好地理解这个概念,
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