Triangle Wave |
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
wrong answer了好久,烦死我了。。。
#include <cstdio> #include<cstring> using namespace std; void draw_wave(int am){ for(int i=1;i<=am;i++){ for(int j=0;j<i;j++){ printf("%d",i); } printf("\n"); } for(int i=am-1;i>=1;i--){ for(int j=0;j<i;j++){ printf("%d",i); } printf("\n"); } } int main() { int n; scanf("%d",&n); int first=1; while(n--){ if(first) first=0; else printf("\n"); int am,fre; scanf("%d%d",&am,&fre); for(int i=0;i<fre-1;i++){ draw_wave(am); printf("\n"); } draw_wave(am); } return 0; }