以波浪模式输出 C++ 字符串
在这个问题中,我们给定一个字符串和一个整数 n。我们的任务是以 n 行的波浪模式打印给定的字符串。
我们举个例子来理解这个问题,
Input: Tutorial n = 3 Output: T r U o i s t l
波浪模式通过逐行逐个打印字符串的每个字符来打印,并且和下一个元素隔开一个制表符,持续到第 n 行。并且在打印制表符到上一行直到第一行并遵循这种模式,直到字符串中没有更多字符为止。
示例
以下代码给出了我们解决方案的实现,
#include<bits/stdc++.h>
using namespace std;
void printWavePattern(string s, int n) {
if (n==1) {
cout<<s;
return;
}
int len=s.length();
char a[len][len]={ };
int row=0;
bool down;
for (int i=0; i<len; i++) {
a[row][i]=s[i];
if (row==n-1)
down=false;
else if (row==0)
down=true;
(down)?(row++):(row--);
}
for (int i=0; i<n; i++) {
for (int j=0; j<len; j++) {
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
int main() {
string str = "TutorialsPoint";
int n = 4;
cout<<n<<" Line wave pattern '"<<str<<"' is:\n";
printWavePattern(str, n);
}产出
4 Line wave pattern 'TutorialsPoint' is − T a n u i l i t t r s o o P
广告
数据结构
网络
关系型数据库
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP