控制台下输出菱形的作业

 

这是在控制台下输出的菱形代码:

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

namespace 菱形制作
{
    class Program
    {
        static void Main(string[] args)
        {
            int m = 1;
            int j;
            int z;
            int w = 7;
            int n = 1;
                for (int i = 1; i <= 9; i++)
                {                   
                    if (m <= 9)
                    {                      
                        for (j = 5 - i; j >= 0; j--)
                        {
                            Console.Write(" ");
                        }
                        for (z = 1; z <= m; z++)
                        {
                            Console.Write("*");
                        }
                        Console.Write("/n");
                        m += 2;
                    }
                    else
                    {                      
                        if (w >= 1)
                        {
                            for (j = 0; j <= n; j++)
                            {
                                Console.Write(" ");
                            }
                            for (z = 1; z <= w; z++)
                            {
                                Console.Write("*");
                            }
                            Console.Write("/n");
                            w -= 2;
                            n++;
                        }
                    }
                  
            }
        }
    }
}

这个菱形输出程序有缺陷:1.它每行里最多只能是九个*号,也就是长度一定,不能实现输入用户想要输出地大小;2.它是针对每行的*为奇数个设计的,偶数还没有设计;3.个人觉得定义的变量有点多了。

在制作过程中,只是有了初步的想法就开始制作,却没有能够实现把初步的想法好好分析一下,以至于,在调试中由于变量声明的位置等,做了大量的调试工作,效率降低了很多。

所以,这次作业的感想是,前期分析,很重要的,在这方面的工作还是有待加强

后来问了下同学,这是她的代码(嘿嘿,比我的算法简单多了,真是惭愧啊):

static void Main(string[] args)
        {
            for (int i = 1; i <= 4; i++)
            {             
                for (int m = 1; m <= 4 - i; m++)
                {
                    Console.Write(" ");
                }
                for (int m = 1; m <= 2 * i - 1; m++)
                {
                    Console.Write("*");
                }
                for (int m = 1; m <= 4 - i; m++)
                {
                    Console.Write(" ");
                }
                Console.WriteLine();
            }
            for (int i = 3; i > 0; i--)
            {
                for (int m = 1; m <= 4 - i; m++)
                {
                    Console.Write(" ");

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值