C#输出“ * ”三角形

yang304401403 2012-11-30 10:23:37
答对就给分答对就给分答对就给分答对就给分答对就给分
...全文
834 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gengchenhui 2012-12-04
  • 打赏
  • 举报
回复
这是课堂作业?
E次奥 2012-12-04
  • 打赏
  • 举报
回复
这个刚进学校的时候老师出的作业。
想名费脑 2012-12-03
  • 打赏
  • 举报
回复

void main()
{
    int i,k,j;
    for(i=1;i<=5;i++)
    {
        for(k=1;k<=5-i;k++)
        printf(" ");
        for(j=1;j<=i*2-1;j++)
        printf("*");
        printf("\n");
    }
}
c写过
luluyy 2012-12-01
  • 打赏
  • 举报
回复
引用 8 楼 sp1234 的回复:
引用 7 楼 conmajia 的回复:慢慢等呗。。不好好上课的下场。。 应该骂。 先打屁股,再给写一个吧。C# code??123456789101112131415161718192021using System; namespace ConsoleApplication1{ class Program { static void……
来做个记号
游离失所 2012-12-01
  • 打赏
  • 举报
回复
引用 10 楼 sp1234 的回复:
如果有人喜欢迭代,我写一个使用微软迭代器的代码(使用迭代器,那么你就无需自己手工去写什么迭代的“算法”):C# code??12345678910111213141516171819202122232425using System;using System.Collections.Generic; namespace ConsoleApplication1{ cla……
一直不了解迭代器。。设断点也跳不进去。。不知道怎么下手学习。。

public class Node
            {
                public Dictionary<char, Node> Dict { get; set; }
                public Node() { Dict = new Dictionary<char, Node>(); }

                public IEnumerable<string> Get()
                {
                   
                    foreach (var item in Dict.OrderBy(x => x.Key))
                    {
                        if (item.Key == '\0') yield return "";
                        foreach (var item1 in item.Value.Get())
                        {
                            yield return item.Key.ToString().ToLower() + item1;
                        }
                    }
                }
            }
List<string> list;

             public void digui(Dictionary<char, Node> dict)
            {
                foreach (var v in dict.OrderBy(x => x.Key))
                {
                    if (v.Key == '\0')
                    {
                        list.Add(temp);
                        temp = "";
                    }
                    else
                    {
                        temp = temp + v.Key.ToString();
                        digui(v.Value.Dict);
                    }
                }
            }
上面那个是别人写的,下面那个是自己重新写的。。感觉实现的东西都一样。。但不知道迭代器到底是按怎样一个顺序(或原理)执行的。。MSDN解释看不太懂(我比较笨)。。设断点也跑不进去
  • 打赏
  • 举报
回复
如果有人喜欢迭代,我写一个使用微软迭代器的代码(使用迭代器,那么你就无需自己手工去写什么迭代的“算法”):
using System;
using System.Collections.Generic;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (var line in 我的杨辉三角(10, 15))
                Console.WriteLine(line);
            Console.ReadKey();
        }

        private static IEnumerable<string> 我的杨辉三角(int n, int 前边有几个空格)
        {
            if (n > 1)
            {
                foreach (var line in 我的杨辉三角(n - 1, 前边有几个空格 + 1))
                    yield return line;
            }
            yield return new string(' ', 前边有几个空格) + new string('*', n * 2 - 1);
        }
    }
}
  • 打赏
  • 举报
回复
你可以试试看,修改一行
我的杨辉三角(10, 5);
看看结果,就能明白“我的杨辉三角”的目的就是:打印n层级的三角,并且要向右移动一定位置。 然后所谓“分析的思路”就是:打印n行三角,需要先打印n-1行,然后再打印最后一行即可。 学软件要学会思路,真正的算法都是精当的科学归纳算法,不要学一堆低级的拼凑结果的所谓“算法”。
  • 打赏
  • 举报
回复
引用 7 楼 conmajia 的回复:
慢慢等呗。。不好好上课的下场。。
应该骂。 先打屁股,再给写一个吧。
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            我的杨辉三角(5, 0);
            Console.ReadKey();
        }

        private static void 我的杨辉三角(int n, int 前边有几个空格)
        {
            if (n > 1)
                我的杨辉三角(n - 1, 前边有几个空格 + 1);
            Console.Write(new string(' ', 前边有几个空格));
            Console.WriteLine(new string('*', n * 2 - 1));
        }
    }
}
不过学生恐怕只会拼凑而不会分析,因此恐怕看这种东西需要人指点。
  • 打赏
  • 举报
回复
引用 10 楼 sp1234 的回复:
如果有人喜欢迭代,我写一个使用微软迭代器的代码(使用迭代器,那么你就无需自己手工去写什么迭代的“算法”):C# code??12345678910111213141516171819202122232425using System;using System.Collections.Generic; namespace ConsoleApplication1{ cla……
大神给你贴代码,赶紧mark吧
Conmajia 2012-12-01
  • 打赏
  • 举报
回复
慢慢等呗。。不好好上课的下场。。
yang304401403 2012-11-30
  • 打赏
  • 举报
回复
1,3,5,7,9,可以控制输多少行的
yang304401403 2012-11-30
  • 打赏
  • 举报
回复
我摆个图形出来吧 * *** ***** ******* *********
游离失所 2012-11-30
  • 打赏
  • 举报
回复
for (int i = 0; i < 5; i++)
            {
                string temp = "";
                for (int j = 0; j <= i; j++)
                {
                    temp += "*";
                }
                Console.WriteLine(temp);
            }
            Console.Read();
这算不算3角型- -0
yang304401403 2012-11-30
  • 打赏
  • 举报
回复
靠,我要FOR循环输出*号,不要字符、字符串那些
gzm998128gzm 2012-11-30
  • 打赏
  • 举报
回复
string str = @" * * * * * *"; richTextBox1.Text = str;
  • 打赏
  • 举报
回复
Console.WriteLine(" *\n ***\n*****");

7,763

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧