zoukankan      html  css  js  c++  java
  • 循环结构-打印菱形(C语言)

    同http://www.cnblogs.com/MichaelLee2015/p/4403005.html

    int main()
    {
        int h;//表示菱形的高的一半,也就是用户输入的数
        printf("请输入xxx我也不知道这里怎么说
    ");//提示用户输入一个数
        scanf("%d",&h);//把用户的输入读取进来并存到h中
    
        //上半部分
        //思路:我们想输出菱形,要考虑每一行的星号前面有几个空格,每一行有几个星号
        //经过推(数)理(数)我们发现,星号最多一行的星号个数为 (2h-1) 个
        //第一行前面空格个数为h-1;第i行(i<h)空格个数为h-i
        //我们以h=6为例,星号最多的一行是第6行,*个数为11个,第6行前面是没有空格的
        //第一行前面有5个空格
    
        for (int i = 1; i <= h; i++)//第几行
        {
            for (int j = 1; j <= h - i; j++)//输出该行的空格
            {
                printf(" ");//输出一个空格
            }
    
            for (int k = 1; k <= 2 * i - 1; k++)//输出该行的* 每行星号个数为(2i-1)
            {
                printf("*");
            }
    
            printf("
    ");//当前行输出完成,换行
        }
    
        //到这里,上半行完成
        //下面打印下半行
    
        //下半行的话就完全反过来。下半行的第1行前面有一个空格 有[2(h-1)-1]个星号
        //下半行的第m行有m个空格,[2(h-m)-1]个星号
        //下半行共有h-1行
    
        for (int m = 1; m <= h - 1; m++)//m表示下半行的行数
        {
            for (int n = 1; n <= m; n++)//输出空格
            {
                printf(" ");
            }
    
            for (int o = 1; o <= 2 * (h - m) - 1; o++)//输出*
            {
                printf("*");
            }
    
            printf("
    ");//换行
        }
    
        return 0;
    }
  • 相关阅读:
    【WinAPI】User32.dll注释
    Unity 用ml-agents机器学习造个游戏AI吧(1) (Windows环境配置)
    Unity C#笔记 容器类
    Unity C#笔记 委托/事件/Action/Func/Lambda表达式
    Unity C#笔记 协程
    游戏AI之模糊逻辑
    游戏AI之路径规划
    游戏设计模式——黑板模式
    游戏AI之决策结构—行为树
    游戏AI之感知
  • 原文地址:https://www.cnblogs.com/MichaelLee2015/p/4417217.html
Copyright © 2011-2022 走看看