zoukankan      html  css  js  c++  java
  • CCF NOI1032 菱形

    问题链接CCF NOI1032 菱形




    时间限制: 1000 ms  空间限制: 262144 KB

    题目描述

      输入一个正整数n,输出用1至(2n-1)的数字组成的菱形。

    输入

      输入正整数n。

    输出

      输出对应的菱形(见样例)。

    样例输入

    3

    样例输出

      1 
     123
    12345
     123
      1
    数据范围限制

      1<=n<=10




    问题分析

      打印菱形,关键是循环控制。程序中需要控制好总行数和每一行的字符。

      每一行的字符从左到右包括空格(可能是0个)、*号字符(若干个)和换行符。

    程序说明

      将打印功能封装在函数diamond()中,可以使得主程序变得更加简洁。

      本程序是根据原有的打印菱形字符图案程序修改而成。

      这里给出了两个程序代码,应该说得80分的程序输出的结果更加优美,是真正的菱形。而正解程序(100分通过)的输出结果有时就不是菱形了。

    要点详解
    • 循环变量与空格数,数字的函数关系。



    参考链接I00007 打菱形字符图案

    100分通过的C语言程序:

    #include <stdio.h>
    
    void diamond(int n)
    {
        int i, j;
        for(i=1; i<=n; i++) {
            for(j=1; j<=n-i; j++)
                printf(" ");
            for(j=1; j<=2*i-1; j++)
                printf("%d", j);
            printf("
    ");
        }
        for(i=1; i<=n-1; i++) {
            for(j=0; j<i; j++)
                printf(" ");
            for(j=1; j<2*n-2*i; j++)
                printf("%d", j);
            printf("
    ");
        }
    }
    
    int main(void)
    {
        int n;
    
        scanf("%d", &n);
    
        diamond(n);
    
        return 0;
    }


    80分的C语言程序:

    #include <stdio.h>
    
    #define BASE 10
    
    void diamond(int n)
    {
        int i, j;
        for(i=1; i<=n; i++) {
            for(j=1; j<=n-i; j++)
                printf(" ");
            for(j=1; j<=2*i-1; j++)
                printf("%d", j % BASE);
            printf("
    ");
        }
        for(i=1; i<=n-1; i++) {
            for(j=0; j<i; j++)
                printf(" ");
            for(j=1; j<2*n-2*i; j++)
                printf("%d", j % BASE);
            printf("
    ");
        }
    }
    
    int main(void)
    {
        int n;
    
        scanf("%d", &n);
    
        diamond(n);
    
        return 0;
    }



  • 相关阅读:
    DP--HDU 1003求数字串中的最大连续序列(含有DP过程详细分析)
    递归+DFS--简单迷宫问题--百练2802
    枚举--百练2812--恼人的青蛙(内含枚举基本思想总结)
    计蒜客:最大子阵
    hdu 4515 小Q系列故事——世界上最遥远的距离
    日期计算
    最大最小公倍数
    hdu 1568 Fibonacci
    矩阵快速幂
    矩阵乘法
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563912.html
Copyright © 2011-2022 走看看