488 - Triangle Wave

来源:互联网 发布:2016网络信息安全事件 编辑:程序博客网 时间:2024/05/21 14:40

 Triangle Wave 

In this problem you are to generate a triangular wave form according to a specified pair ofAmplitude and Frequency.

Input and Output

The input begins with a single positive integer on a line by itself indicatingthe number of the cases following, each of them as described below. This line isfollowed by a blank line, and there is also a blank line between two consecutiveinputs.

Each input set will contain two integers, each on a separate line. The first integer is the Amplitude; thesecond integer is the Frequency.

For each test case, the output must follow the description below. The outputs oftwo 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 waveequals 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 thatline.

NOTE: There is a blank line after each separate waveform, excluding the last one.

Sample Input

132

Sample Output

122333221122333221


原本是希望将打印一个波形放在一个双重循环里完成,后来发现很困难,所以改用两个循环完成。不过还是WA了一次,原因就是空行的问题。

每个波形之间都有一个空行,但是最后一个波形结尾没有空行!就是错在最后一个波形也输出了空行。。

AC代码:

#include <stdio.h>draw(int n){int i, j;for (i=1; i<=n; ++i) {for (j=1; j<=i; ++j)printf("%d", i);putchar('\n');}for (i=n-1; i>=1; --i) {for (j=1; j<=i; ++j)printf("%d", i);putchar('\n');}}/**************************/int main(void){int n, i;int a, f;scanf("%d", &n);while (n--) {scanf("%d%d", &a, &f); for (i=1; i<=f; ++i) { draw(a);if (n==0 && i==f)return 0;putchar('\n');}}return 0;}


原创粉丝点击