黑马程序员技术交流社区

标题: 看到提问怎么输出*号从多到小问题的回答 [打印本页]

作者: 郭佳佳    时间: 2012-7-24 07:51
标题: 看到提问怎么输出*号从多到小问题的回答
在网上看的有网友输出*号从小到大会,i++加到最高,隔行输出就行,但是从大到小不会,鄙人感觉直接i--就好啦,当i<1时,输出就行.这应该对吧
作者: 许庭洲    时间: 2012-7-24 08:21
本帖最后由 许庭洲 于 2012-7-24 08:28 编辑

{
    int i,j;
    long sum =1;
    long sum1=0;
    for(j=1; j<=20; j++)
    {
         for(i=1; i<=j; i++)
         {
               sum*=i;
         }
         sum1+=sum;
         sum=1;
     }
     Comsole.WriteLine("{0}",sum1);
     Console.ReadLine();
}

结果:
作者: 黑马杨凯    时间: 2012-7-24 09:41
            可以按照两部分输出,就是你说的i--的意思,
       也可以一起输出,自己写了一下
            int rownum = 7;
            for (int i = 0; i < rownum; i++)
            {
                //通过观察发现第i行输出空格数为|2*i+1-rownum|/2,输出的*数为 n-2*空格数
                //先输出每行的空格
                for(int j=0;j<Math.Abs(2*i+1-rownum)/2;j++)
                Console.Write(" ");
                //在输出每行的*
                for(int s=0;s<rownum-Math.Abs(2*i+1-rownum);s++)
                    Console.Write("*");
                Console.WriteLine();
            }

            Console.ReadKey();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2