A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蔡嘉 中级黑马   /  2012-9-23 14:04  /  2837 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C:\Documents and Settings\Administrator\桌面
自己动手敲出来,不是很容易的,大家试试吧!
要求:1.行数取3--21之间,对非法行数抛出"非法行数";
        2. 在控制台上打印出这个行数的倒三角形;

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

倒序浏览
有图
回复 使用道具 举报
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 倒等腰三角形
{
      calss Program
      {
        static void Main(string[] args)
        {
            int intNumber;

            Console.Write("请输入显示的行数:");
            string number = Console.ReadLine();

            bool IsNum = int.TryParse(number, out intNumber);

            if (!IsNum)
            {
                Console.Write("请不要输入非法数字!");
            }
            else if (intNumber < 3 || intNumber > 21)
            {
                Console.Write("输入的数据最小为3,最大为21!");
            }
            else
            {
                for (int i = intNumber; i > 0; i--)
                {
                    //循环空格
                    for (int j = 0; j < intNumber - i; j++)
                    {
                        Console.Write(" ");
                    }

                    //循环图形
                    for (int k = 2 * i - 1; k > 0; k--)
                    {
                        Console.Write("*");
                    }

                    Console.Write("\n");
                }
            }
            Console.ReadKey();
        }
    }
}
回复 使用道具 举报
感谢高人回帖,昨天是倒立三角形,今天来个直立三角形,请看新帖!
回复 使用道具 举报
折腾了一会,最终还是实现了!

using System;

namespace 倒三角形
{
        class Program
        {
                public static void Main(string[] args)
                {
                        int Row;//定义变量用于存储行数
                        Console.Write("请输入行数(3-21):");
                        //对用户输入进行控制,不是数字 或者 大于21 或者 小于3都要求重新输入。
                        while(!int.TryParse(Console.ReadLine(),out Row)||Row>21||Row<3)
                        {
                                Console.Write("输入无效,从新输入行数(3-21):");
                        }
                        //对于整个图形的输入,只需要分析一下每一行输出的空格数和"*"数的规律就行了
                        for(int i=Row;i>=1;i--)//外循环控制行数,我把它理解为规律中数列的项数
                        {
                                for(int k=1;k<=Row-i;k++)
                                {
                                        Console.Write(" ");//空格规律:空格数+i=行数,所以空格数=Row-i
                                }
                                for(int j=1;j<=2*i-1;j++)//*的规律为等差为2的等差数列,倒序所以外循环是i=Row;i>=1
                                {
                                        Console.Write("*");
                                }
                                Console.WriteLine();
                        }
                        Console.ReadKey(true);
                }
        }
}
回复 使用道具 举报
直立三角形只需修改外循环,把 for(int i=Row;i>=1;i--)改成 for(int i=1;i<=Row;i++)代码如下:

using System;
namespace 直立三角形
{
        class Program
        {
                public static void Main(string[] args)
                {
                        int Row;//定义变量用于存储行数
                        Console.Write("请输入行数(3-21):");
                        //对用户输入进行控制,不是数字 或者 大于21 或者 小于3都要求从新输入。
                        while(!int.TryParse(Console.ReadLine(),out Row)||Row>21||Row<3)
                        {
                                Console.Write("输入无效,从新输入行数(3-21):");
                        }
                        //对于整个图形的输入,只需要分析一下每一行输出的空格数和"*"数的规律就行了
                        for(int i=1;i<=Row;i++)//外循环控制行数,我把它理解为规律中数列的项数
                        {
                                for(int k=1;k<=Row-i;k++)
                                {
                                        Console.Write(" ");//空格规律:空格数+i=行数,所以空格数=Row-i
                                }
                                for(int j=1;j<=2*i-1;j++)//*的规律为等差为2的等差数列.
                                {
                                        Console.Write("*");
                                }
                                Console.WriteLine();
                        }
                        Console.ReadKey(true);
                }
        }
}

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马