javascript实现输出指定行数图形,打印乘法表

打印一个10行10列的正方形(要求:每一个输出语句中只能输出一个*)

通过for循环,来循环使用document.write("*");最后得到一个10行10列的正方形。
1.首先我们来考虑判断条件,因为是10行10列,所以 一共要循环输出100次,那么循环结构我们这样写

 for (var i = 1; i <= 100; i++) {
 document.write("*");
 }
  1. 如果不进行更改的话就会得到一整排的星号,如果想得到正方形的话,那么我们每隔10个星号,通过document.write打印一个换行标签,所以当i%10==0的时候,我们就打印星号。
  2. 最后我们打印几个空格让星号之间有点空格。
for (var i = 1; i <= 100; i++) {
        document.write("*" + "&nbsp;&nbsp;&nbsp;");
        if (i % 10 == 0) {
            document.write("<br/>");
        }
    }

效果图:
在这里插入图片描述

打印一个10行的直角三角形

一个直角三角形,可以有很多种形状,今天主要根据上面的正方形,简单的说下面的这一种
如图:
在这里插入图片描述
1.我们想一下上面刚做完的正方形,一个十行的直角三角形,大概要打印多少个星号?第一行1个,第二行两个,第三行…,所以最后的结果就是1+2+…+10=55;
2.那么55个星号我们知道了什么时候我们换行呢 。每一行的最后一个都要进行换行,而每行的最后一个在55个星号里排第几个呢。
3.我们拿前四行举例 第一个换行 第三个换行 第六个换行 第10个换行。
4.我们建两个变量 var n=1,a=2; n代表的是要换行的那个星号,而a则是一个进行自增的量,在第一次循环里由于i和n都相等所以会第一次换行,然后紧接着n+=a;a++;,n变成了3,a变为了3(a代表了你下一行要使用的星号数量),在i再一次等于n后,n+=a;
a++;n变为6,a变为4;
5.如果你还是没有理清思路的话那我们来看一下完整代码,理清思路

 var a = 2,n = 1;
    for (var i = 1; i <= 55; i++) {
        document.write("*" + "&nbsp;&nbsp;&nbsp;");
        if (i == n) {
            document.write("<br/>");
            n += a;
            a++;
        }
    }

打印一个九九乘法表,如下图:

在这里插入图片描述
1.这个九九乘法表的形状有点类似我们刚才的直角三角形,但是做起来就又不一样了。
2.由于是两个数相乘并且是逐个相乘,所以这题我们用for循环嵌套for循环做;

 for (var i = 1; i <= 9; i++) {
        for (var j = 1; j <= 9; j++) {
           
        }
    }

3.上面的乘法表第二个数最大不超过第一个数,所以当第二个数大于第一个数的时候跳出里面的循环;
4.至于换行就在i==j的时候打印一个br就可以了
完整代码如下

 for (var i = 1; i <= 9; i++) {
        for (var j = 1; j <= 9; j++) {
            if (j > i) {
                break;
            }
            document.write(i + "*" + j + "=" + (i * j)+"&nbsp;&nbsp;&nbsp;");
            if (j == i) {
                document.write("<br/>");
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值