UVA 488
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
解法:就是输入波的波峰和频率,然后输出波形。
代码如下:
#include<iostream> using namespace std; void print_num(int n) { for(int i=0;i<n;++i) cout<<n; cout<<endl; } void print_wave(const int n) { for(int i=1;i<2*n;++i) { if(i<=n) print_num(i); else print_num(2*n-i); } } int main() { int n,a,b; cin>>n; while(n--) { cin>>a>>b; while(b--) { print_wave(a); cout<<endl; } } }
运行如下: