题目链接: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
题意:输出三角波,空行
代码:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int a, f;
void print()
{
for(int i = 1; i <= 2*a-1; i++)
{
if(i <= a)
for(int j = 1; j <= i; j++)
printf("%d", i);
else
for(int j = 1; j <= 2*a-i; j++)
printf("%d", 2*a-i);
printf("\n");
}
}
int main()
{
//freopen("488.txt", "w", stdout);
int t;
scanf("%d", &t);
for(int k = 1; k <= t; k++)
{
scanf("%d%d", &a, &f);
print();
for(int i = 1; i < f; i++)
{
printf("\n");
print();
}
if(k < t)
printf("\n");
}
return 0;
}