日期:2014-05-17  浏览次数:20878 次

请假一个简单for loop的语法问题。 谢谢。。。非常感谢。
本帖最后由 smrt_tony 于 2013-07-11 19:04:25 编辑
#####*
####***
###*****
##*******
#*********
##*******
###*****
####***
#####* 

这么个图案,我现在只打印那几行#。

          int num = 9;
            for (int i = 1; i <= num; i++)
            {
                for (int j=1;j<=(num+1)/2;j++)
                {
                    Console.Write("#");
                }
                Console.Write("\n");            
            }
            Console.ReadKey();

我的问题不是如何打印这个菱形,我是想明白for loop的语法,其中第二个loop,这么写完之后#字每行都打印5个,不往下减少。我理解j++之后变成了2,3,4...于是我就手动把j=2,3,4,这样一弄每次打印的#就少一个. 我理解j++也是响应的把j变成了2,3,4可是为嘛它的#就不往下减少呢?

另外2个问题
1: j++的作用在这里是做什么?我能理解没有j++就会变成无限循环,可是在这里有点不明白它的作用了,问题有点低级。。。

2:每次打印的#数,是由哪个值决定的?由 j<=n,后面的这个n值决定的? 还是由j与n的差值决定的?谢谢。

非常感谢

------解决方案--------------------
你先找本书或者利用搜索引擎把C#基本的东西看一遍,像for、while这些都是些很基本的
我关机下班了