黑马程序员技术交流社区

标题: 99乘法表 [打印本页]

作者: 许大虾    时间: 2013-5-31 01:47
标题: 99乘法表
本帖最后由 许大虾 于 2013-6-3 15:09 编辑
  1. for (int i = 1; i <= 9; i++)
  2. {
  3. for (int j = 1; j <= 9; j++)
  4. {
  5. Console.WriteLine("{0}X{1}={2:00}", i, j, i * j);
  6. }
  7. Console.WriteLine();

  8. }
  9. Console.ReadKey();
复制代码
运行结果:

换成矩形, 谁改下~
作者: 许庭洲    时间: 2013-5-31 07:03
本帖最后由 许庭洲 于 2013-5-31 07:32 编辑

class FunctionTest
{
    public static void Main(String[] args)
    {
        draw(5,8);
        printHr();

        draw(6,10);
        printHr();

        print99(6);
        printHr();

    }

    public static void draw(int row, int col)
    {
        for (int x=0; x<row; x++)
        {
            for (int y=0; y<col; y++)
            {
                Console.WriteLine("* ");
            }
            Console.WriteLine();
        }
    }

    public static void printHr()
    {
        Console.WriteLine("----------------");
    }

    public static void print99(int q)
    {
        for (int x=1; x<=q; x++)
        {
            for (int y=1; y<=x; y++)
            {
                Console.WriteLine(y+"*"+x+"="+x*y+"t");
            }
            Console.WriteLine();
        }
    }
}
作者: fcyan86    时间: 2013-5-31 08:55
  1. /// <summary>
  2.         /// 矩形
  3.         /// </summary>
  4.         /// <param name="col">行宽</param>
  5.         public static void DrawRange(int col)
  6.         {
  7.             int i = 1;
  8.             for (int x = 1; x < 9; x++)
  9.             {
  10.                 for (int y = 1; y < 9; y++)
  11.                 {
  12.                     Console.Write(y + "*" + x + "=" + x * y + "\t");
  13.                     if (i++ >= col)
  14.                     {
  15.                         Console.WriteLine();
  16.                         i = 1;
  17.                     }
  18.                 }
  19.             }
  20.             Console.WriteLine();
  21.         }
复制代码
  1. /// <summary>
  2.         /// 三角形
  3.         /// </summary>
  4.         /// <param name="q">输出到q*q结束</param>
  5.         public static void DrawTriangle(int q)
  6.         {
  7.             for (int x = 1; x <= q; x++)
  8.             {
  9.                 for (int y = 1; y <= x; y++)
  10.                 {
  11.                     Console.Write(y + "*" + x + "=" + x * y + "\t");
  12.                 }
  13.                 Console.WriteLine();
  14.             }
  15.         }
复制代码

作者: 萧萧北    时间: 2013-5-31 09:00
  1. //外循环 i 控制行数
  2.                 for(int i=1;i<=9;i++)
  3.                 {
  4.                         //内循环 j 控制列数
  5.                         for(int j=1;j<=i;j++)
  6.                         {
  7.                                  Console.Write(j+"*"+i+"="+j*i+"\t");
  8.                         }
  9.                         //外循环一次 换行一次
  10.                          Console.WriteLine();
  11.                 }
复制代码

作者: 萧萧北    时间: 2013-5-31 09:02
楼主的问题在于,Console.WriteLine();会自动换行,改用 Console.Write就行喽
作者: 李云飞    时间: 2013-5-31 10:15
for (int i = 1; i <= j; i++)

{

for (int j = 1; j <= 9; j++)

{

Console.Write("{0}X{1}={2}", i, j, (i * j));
Console.Write(“\t”); //使每一列对齐,看起来舒服。


}

}

Console.ReadKey();
楼主的问题在于第一个Console.WriteLine()输出应该改写为Console.Write(),这样在内循环控制的输出就不会没输出一行就换行。
Console.WriteLine()与Console.Write()的主要区别就在于输出后是否换行。
如以上的分析不妥请指出,彼此相互学习,一起朝着黑马的大门一步步的迈进。谢谢


作者: 李云飞    时间: 2013-5-31 10:18
非常抱歉 上面的那个发错了 请参考下面的这个 。
for (int i = 1; i <=9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("{0}X{1}={2}", i, j, (i * j));
Console.Write(“\t”); //使每一列对齐,看起来舒服。
}
}
Console.ReadKey();
楼主的问题在于第一个Console.WriteLine()输出应该改写为Console.Write(),这样在内循环控制的输出就不会没输出一行就换行。
Console.WriteLine()与Console.Write()的主要区别就在于输出后是否换行。
如以上的分析不妥请指出,彼此相互学习,一起朝着黑马的大门一步步的迈进。谢谢


作者: 王盛    时间: 2013-5-31 16:29
很简单啦~ 你输出的时候错误的地方是{
Console.WriteLine("{0}X{1}={2}", i, j, (i * j));  你只需改成 Write即可!!!~~~~~~~
如果想更美观一些 可以在加一句~!
Console.Write(“\t”); //   /t 转义符(对齐的意思),只是为了美观而已,可以不加/t{:soso_e100:}
作者: 许大虾    时间: 2013-6-3 15:09
console.write("\t");
作者: rosv    时间: 2013-6-3 15:17
把内循环的Console.WriteLine改成Console.Write不用换行
作者: xiangsoft    时间: 2013-6-4 00:23
if(i==9){
Console.Write("\n");
}
作者: ljh4282158    时间: 2013-6-10 22:41
把内循环中的   Console.WriteLine   换成 Console.Write 试试
作者: 甘斌斌    时间: 2013-6-11 13:34
ljh4282158 发表于 2013-6-10 22:41
把内循环中的   Console.WriteLine   换成 Console.Write 试试

简单明了,我也想说这个确实可以。




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