我有一个任务,我应该制作绘制垂直三角波的代码但是这里有一个问题是drawOnePeriod函数调用函数drawwave用常数5调用它,这个数字确定波的幅度< strong>但是,如果我想改变这个数字来修改振幅,那就搞乱了模式所以我想知道我是否可以在任何地方得到一些帮助,因为我无法想到一个关系。
# include <iostream>
using namespace std;
void drawOnePeriod(int periodLength)
{
int z = 10;
for (int i = 1; i < periodLength; i++)
{
for (int j = 0; j <= z; j++)
{
cout << " ";
}
z++;
cout << "*" << endl;
}
for (int i = 1; i <= 3 + periodLength; i++)
{
for (int j = 0; j <= z; j++)
{
cout << " ";
}
z--;
cout << "*" << endl;
}
for (int i = 1; i < periodLength; i++)
{
for (int j = 0; j <= z; j++)
{
cout << " ";
}
z++;
cout << "*" << endl;
}
}
void drawWave(int nPeriods)
{
for (int i = 1; i <= nPeriods; i++)
{
drawOnePeriod(5);
}
}
int main()
{
int n;
cin >> n;
drawWave(n);
}
答案 0 :(得分:0)
如果您包含您期望的输出,那将非常有用 以下是我对&#34;垂直三角波&#34;
的解释#include <stdio.h>
int main(void) {
int amplitude = 8;
int cycles = 3;
int delta = +1;
int i=1;
while (cycles --> 0)
{
for(; i>=1 && (i<=amplitude) ; i += delta)
{
printf("%*s\n", i, "*");
}
i += 2*(delta = -delta);
}
return 0;
}
<强>输出强>
Success #stdin #stdout 0s 4448KB
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*