Q488: 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 wave(int h)
{
int i,j;
for(i=1;i<=h;i++)
{
for(j=0;j<i;j++)
printf("%d",i);
putchar('\n');
}
for(i=h-1;i>0;i--)
{
for(j=0;j<i;j++)
printf("%d",i);
putchar('\n');
}
}
int main()
{
int n;
scanf("%d",&n);
int t,h;
while(scanf("%d%d",&h,&t)&&n--)
{
int i;
for(i=0;i<t;i++)
{
wave(h);
if(i!=t-1)
putchar('\n');
}
if(n!=0)
putchar('\n');
}
return 0;
}

这题主要要循环,通过循环程序就能做出来了

posted @ 2013-02-24 15:46  王文城  阅读(317)  评论(0编辑  收藏  举报