现在的位置: 首页 > 综合 > 正文

uva-488 三角波

2012年07月29日 ⁄ 综合 ⁄ 共 1416字 ⁄ 字号 评论关闭
 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

wrong answer了好久,烦死我了。。。

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

void draw_wave(int am){
	for(int i=1;i<=am;i++){
		for(int j=0;j<i;j++){
			printf("%d",i);
		}
		printf("\n");
	}
	for(int i=am-1;i>=1;i--){
		for(int j=0;j<i;j++){
			printf("%d",i);
		}
		printf("\n");
	}
}

int main()  
{  
	int n;
	scanf("%d",&n);
	int first=1;
	while(n--){
		if(first) first=0;
		else printf("\n");
		int am,fre;
		scanf("%d%d",&am,&fre);
		for(int i=0;i<fre-1;i++){
			draw_wave(am);
			printf("\n");
		}
		draw_wave(am);
	}
	return 0;  
}

抱歉!评论已关闭.