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
题义:打印图形。输入一个数T,表示测试数据,输入空行(貌似没用),输入n、m,n表示振幅,m表示输出的组数。最后没有空行。
AC代码如下:
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int T, n, m, i, j; 6 scanf("%d", &T); 7 while(T--) 8 { 9 scanf("%d%d", &n, &m); 10 while(m--) 11 { 12 for (i=1-n; i<n; i++) 13 { 14 for (j=1; j<=n-(abs(i)); j++) 15 { 16 printf("%d", n-(abs(i))); 17 } 18 printf("\n"); 19 } 20 if (m) 21 printf("\n"); 22 } 23 if (T) 24 printf("\n"); 25 } 26 return 0; 27 }