• 寒假刷题之7——波纹


     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


      波纹。。。让我想起jojo里面的波纹(好吧我漫画看多了。。。)


      其实这就是画菱形的变形题嘛,而且比画菱形容易。。。

      编出来调试正常却ac不了:

    #include <stdio.h>
    #include <ctype.h>
    
    int main()
    {
    	int i, k, j, l, n, f, s;
    	
    	scanf("%d", &n);
    	
    	for (i = 0; i < n; i ++){
    		scanf("%d%d", &f, &s);
    		for (l = 0; l < s; l ++){
    			for (k = 1; k <= f; k ++){
    				for (j = 0; j < k; j ++)
    					printf("%d", k);
    				printf("\n");
    			}
    			for (k = f - 1; k > 0; k --){
    				for (j = k; j > 0; j --)
    					printf("%d", k);
    				printf("\n");
    			}
    			if (l != s - 1)
    				putchar('\n');
    		}
    	}
    	
    	return 0;
    }


      原来是空行问题,调整一下就ac了。。。它特别要求最后一个没有空行,我以为每一组的最后一个都没有,原来是算全部啊。。。

      那个oj好卡反应很慢很蛋疼。。。

    AC代码:

    #include <stdio.h>
    #include <ctype.h>
    
    int main()
    {
    	int i, k, j, l, n, f, s;
    	
    	scanf("%d", &n);
    	
    	for (i = 0; i < n; i ++){
    		scanf("%d%d", &f, &s);
    		for (l = 0; l < s; l ++){
    			for (k = 1; k <= f; k ++){
    				for (j = 0; j < k; j ++)
    					printf("%d", k);
    				printf("\n");
    			}
    			for (k = f - 1; k > 0; k --){
    				for (j = k; j > 0; j --)
    					printf("%d", k);
    				printf("\n");
    			}
    			if (l == s - 1 && i == n - 1)
    				return 0;
    			putchar('\n');
    		}
    	}
    	
    	return 0;
    }


       。。。我直接改上次那题的代码,结果那个ctype.h一直放在那边,虽然完全没用到,现在才发现。汗


  • 相关阅读:
    HDU 4901 The Romantic Hero
    COGS8 备用交换机
    POJ 1466 Girls and Boys
    bzoj3442 学习小组
    bzoj2054 疯狂的馒头
    POJ2135 Farm Tour
    POJ 1149 PIGS
    Html5 Canvas学习之路(五)
    关于跨域简单总结
    vue-baidu-map 进入页面自动定位的解决方案!
  • 原文地址:https://www.cnblogs.com/java20130723/p/3212213.html
Copyright © 2020-2023  润新知