In this problem you are to generate a triangular wave form according to a specified pair of Amplitude and Frequency.
Input and Output
The input begins with a single positive integer on a line by itself indicating the number of the cases following, each of them as described below.This line is followed by a blank line, and there is also a blank line between two consecutive inputs.
Each input set will contain two integers, each on a separate line. The first integer is the Amplitude; the second integer is the Frequency.
For each test case, the output must follow the description below. The outputs of two consecutive cases will be separated by a blank line.
For the output of your program, you will be printing wave forms each separated by a blank line. The total number of wave forms equals the Frequency, and the horizontal ``height'' of each wave equals the Amplitude. The Amplitude will never be greater than nine.
The waveform itself should be filled with integers on each line which indicate the ``height'' of that line.
NOTE: There is a blank line after each separate waveform, excluding the last one.
Sample Input
1 3 2
Sample Output
1 22 333 22 1 1 22 333 22 1
---------------------------------------------------------------------------------------------
Note:红字部分是神坑,直接cin就可以了,不用加空行,绿色是重点:每个case都要输入参数,而输出跟在后面,最后的三角波不用空行
#include <iostream> using namespace std; void print(int n,int upORdown) { if (upORdown == 1) //打印上半部分 { int i = 1; for (i;i <= n;i++) { int j = 0; for (j;j < i;j++) cout << i; cout << endl; } } else //打印下半部分 { int i = n-1; for (i;i >= 1;i--) { int j = 0; for (j;j < i;j++) cout << i; cout << endl; } } } int main() { int cases,amplitude,frequency; cin >> cases; while (cases) { cin >> amplitude; cin >> frequency; int temp = frequency; while (temp) { print(amplitude,1); print(amplitude,0); if (temp != 1) //最后的三角波不用空行 cout << endl; temp--; } if(cases > 1) cout << endl; cases--; } return 0; }