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>
long ab(long x);
int main()
{
/**//*
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
//*/
long n;
scanf("%ld",&n);
for(long cas=1;cas<=n;cas++)
{
long amp,fre;
scanf("%ld%ld",&,&fre);
for(long k=1;k<=fre;k++)
{
for(long i=1;i<=2*amp-1;i++)//1234554321,中间是5,这些数字的下标是123456789,求从1到中间再到1,k=中间数-|中间数-下标|~~~不可能超过中间数,且围绕中间数转,所以就用5-
{
long t=amp-ab(i-amp);
for(long j=1;j<=t;j++)
printf("%ld",t);
putchar('\n');
}
if(cas!=n||k!=fre) putchar('\n');
}
}
return 0;
}
long ab(long x)
{
return x>0?x:-x;
}