In this problem you are to generate a triangular wave form according to a specified pair of Amplitude and Frequency.
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.
1 3 2
1 22 333 22 1 1 22 333 22 1
不用看题,直接找规律,最重要注意最后一句话
NOTE: There is a blank line after each separate waveform, excluding the last one.
意思说最后一行不要留空行,这里的最后一行,怎么理解呢,一开始我理解错了,其实它的意思是说,最最后(你懂得)
开头的示例中输出第一个数字,和二三个数字之间有个空行,肿么办?不要在意,其实输入的时候你可以随意加空行的(注意是输入时)。
#include<stdio.h> #include<math.h> int main() { int a,b,c,i,j,k,p,n; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d%d",&a,&c); for(j=1;j<=c;j++) { for(k=-a+1;k<a;k++) { for(p=1;p<=a-abs(k);p++) printf("%d",a-abs(k)); printf("\n"); } if(j!=c||i!=n) printf("\n"); } } return 0; }