C#学习笔记(使用C#绘制出一个任意层数用*堆积的三角形)

思路:首先考虑的是层数和每层*数的关系式,层数和每层空格数的关系式,然后对比两个关系式有何关联,我们就不难写出整部程序

通过在笔记本上绘制出三角形的草图不难看出每层所能放置“ * ”和“  ”的位置数取决于最后一层“ * ”的数量,所以列出最底层“ * ”数和总层数的关系:(2×n-1)。每层“ * ”数k关系式为:(2×i-1),用每层所能放置的总位置数减去“ * ”数即为每层循环的空格数“ j ”:((2×n-1)-(2×i-1)),每层我们只循环“ * ”前面的空格即可,所以再除以2:((2×n-1)-(2×i-1))/2

 

首先创建一个新项目

开始编辑程序代码

1、初步对函数进行赋值

        static void Main(string[] args)
        {
            xingsan(5);//给函数赋值
            Console.ReadKey();
        } 

2、这次主要运用for循坏来实现*三角形的堆积

static void xingsan(int n)
        {
            int i;
            for (i = 1; i <= n; i++)//①此前赋值为5,所以定义for循环三角形一共有五层
            {
                
                for (int j = 1; j <= ((2 * n - 1) - (2 * i - 1)) / 2; j++)//②每层循环*之前,先定义循环空格即“j”
                {
                    Console.Write(" ");

                }
                for (int k = 1; k <= 2 * i - 1; k++)//③循环空格之后,开始循环“ * ”
                {
                    Console.Write("*");
                }
               
                Console.WriteLine();//④不要忘了循环进入下一层
            }

        }

效果展示

完整代码:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace xingsan
{
    class Program
    {
        static void Main(string[] args)
        {
            xingsan(5);//给函数赋值
            Console.ReadKey();
        }
        static void xingsan(int n)
        {
            int i;
            for (i = 1; i <= n; i++)
            {
                
                for (int j = 1; j <= ((2 * n - 1) - (2 * i - 1)) / 2; j++)
                {
                    Console.Write(" ");

                }
                for (int k = 1; k <= 2 * i - 1; k++)
                {
                    Console.Write("*");
                }
               
                Console.WriteLine();
            }

        }
    }
}

ps:编程萌新,望各路大神多多指点(*^▽^*)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值