首页 > 代码库 > Uva488 Triangle Wave
Uva488 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
好久没刷题了,今天赶紧来水一道,这题就是输出格式略奇葩~~
#include <stdio.h> void printTriangel(int m) { int i, j; for(i = 1; i < m; ++i){ for(j = 1; j <= i; ++j) printf("%d", i); printf("\n"); } while(i >= 1){ for(j = 1; j <= i; ++j) printf("%d", i); printf("\n"); --i; } } int main() { int t, m, n; scanf("%d", &t); while(t--){ scanf("%d%d", &m, &n); while(n--){ printTriangel(m); if(t || n) putchar('\n'); } } return 0; }