zoukankan      html  css  js  c++  java
  • C语言经典算法100例-023-打印菱形

    来看题目:打印如下的菱形。

    1.分析,常见的打印问题都是通过i,j来控制打印的位置进行打印,这道题也不例外。将菱形分为上下两部分,第一部分为1到4行,第二部分为5到7行,第一部分通过分析我们得到这样的规律,若i在区间[0,4)内循环,那么打印空格的位置在[0,3-i),而打印*的位置是[3-i,i+4),同理得到第二部分的规律吧,i在区间[0,3)内循环时,空格位置为[0,i+1),而*位置在区间[i+1,6-i)。于是源代码应运而生。

    2.源代码:

    #include <stdio.h>
    #include <stdlib.h>
    //打印菱形
    int main()
    {
        int i,j,k;  //j控制空格的位置,K控制*的位置
        for(i=0;i<4;i++)
        {
            for(j=0;j<3-i;j++)
                printf(" ");
            for(k=3-i;k<i+4;k++)
                printf("*");
            printf("
    ");
        }
        for(i=0;i<3;i++)
        {
            for(j=0;j<i+1;j++)
                printf(" ");
            for(k=i+1;k<6-i;k++)
                printf("*");
            printf("
    ");
        }
        return 0;
    }

  • 相关阅读:
    HDU 2544 最短路
    HDU 3367 Pseudoforest
    USACO 2001 OPEN
    HDU 3371 Connect the Cities
    HDU 1301 Jungle Roads
    HDU 1879 继续畅通工程
    HDU 1233 还是畅通工程
    HDU 1162 Eddy's picture
    HDU 5745 La Vie en rose
    HDU 5744 Keep On Movin
  • 原文地址:https://www.cnblogs.com/mrbourne/p/9959501.html
Copyright © 2011-2022 走看看