UVA 488 - Triangle Wave

题目链接: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

题意:输出三角波,空行


代码:

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;

int a, f;
void print()
{
    for(int i = 1; i <= 2*a-1; i++)
    {
        if(i <= a)
            for(int j = 1; j <= i; j++)
                printf("%d", i);
        else
            for(int j = 1; j <= 2*a-i; j++)
                printf("%d", 2*a-i);
        printf("\n");
    }
}
int main()
{
    //freopen("488.txt", "w", stdout);
    int t;
    scanf("%d", &t);
    for(int k = 1; k <= t; k++)
    {
        scanf("%d%d", &a, &f);
        print();
        for(int i = 1; i < f; i++)
        {
            printf("\n");
            print();
        }
        if(k < t)
            printf("\n");
    }
    return 0;
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值