UVa 488 Triangle Wave(三角波)

 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


题目大意:

根据输入的数字m,n,画出n个相对应的三角波,由观察我们可以知道,这是有一个正三角和倒三角形形成的,所以在编程的时候,将这两部分单独画出。

另外要注意每一组数据之后,不需要多输出空行!!


CODE:

#include <stdio.h>

int main(){
    int T;
    int m,n;
    int i,j;

    scanf("%d", &T);
    while(T--){
        scanf("%d%d", &m, &n);
        while(n--){
            for(i = 1; i<=m; i++){       /*正三角形*/
                for(j = 1; j<=i; j++)
                    printf("%d", i);
                printf("\n");
            }

            for(i = m-1; i>0; i--){      /*倒三角形*/
                for(j = 1; j<=i; j++)
                    printf("%d", i);
                printf("\n");
            }
            if(n)   printf("\n");        /*每个case,最后一组输出没有空行*/
        }
        if(T)   printf("\n");           /*最后一个输出后面没有空行*/
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值