Raphael_W

UVa 488 Triangle Wave

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

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main(int argc, const char *argv[])
 4 {
 5     int set, amplitude, frequency, i, j, k, l, first = 1;
 6     scanf("%d", &set);
 7     for (i = 0; i < set; i++) {
 8         getchar();
 9         scanf("%d%d", &amplitude, &frequency); 
10         for (j = 0; j < frequency; j++) {
11             if(!first)
12                 printf("\n");
13             for (k = -amplitude + 1; k < amplitude; k++) {
14                 for (l = 0; l < amplitude - abs(k); l++) {
15                     printf("%d", amplitude - abs(k));
16                 }
17                 printf("\n");
18             }
19             first = 0;
20         }
21     }
22     return 0;
23 }

 

posted on 2013-05-03 18:22  Raphael_W  阅读(112)  评论(0编辑  收藏  举报

导航