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
波纹。。。让我想起jojo里面的波纹(好吧我漫画看多了。。。)
其实这就是画菱形的变形题嘛,而且比画菱形容易。。。
编出来调试正常却ac不了:
#include <stdio.h> #include <ctype.h> int main() { int i, k, j, l, n, f, s; scanf("%d", &n); for (i = 0; i < n; i ++){ scanf("%d%d", &f, &s); for (l = 0; l < s; l ++){ for (k = 1; k <= f; k ++){ for (j = 0; j < k; j ++) printf("%d", k); printf("\n"); } for (k = f - 1; k > 0; k --){ for (j = k; j > 0; j --) printf("%d", k); printf("\n"); } if (l != s - 1) putchar('\n'); } } return 0; }
原来是空行问题,调整一下就ac了。。。它特别要求最后一个没有空行,我以为每一组的最后一个都没有,原来是算全部啊。。。
那个oj好卡反应很慢很蛋疼。。。
AC代码:
#include <stdio.h> #include <ctype.h> int main() { int i, k, j, l, n, f, s; scanf("%d", &n); for (i = 0; i < n; i ++){ scanf("%d%d", &f, &s); for (l = 0; l < s; l ++){ for (k = 1; k <= f; k ++){ for (j = 0; j < k; j ++) printf("%d", k); printf("\n"); } for (k = f - 1; k > 0; k --){ for (j = k; j > 0; j --) printf("%d", k); printf("\n"); } if (l == s - 1 && i == n - 1) return 0; putchar('\n'); } } return 0; }
。。。我直接改上次那题的代码,结果那个ctype.h一直放在那边,虽然完全没用到,现在才发现。汗