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一直放在那边,虽然完全没用到,现在才发现。汗