乘法表线交叉

时间:2013-03-01 13:15:48

标签: javascript html

<script type="text/javascript">
    document.write("<table border='1' align='center' cellpadding='20'>");
    for (j = 1; j <= 10; j++) {
        var n;
        document.write('<tr>');
        for (i = 1; i <= 10; i++) {
            if (i == j) {
                document.write('<td align="right" bgcolor="green">', i * j, '</td>');
            } else if (i * j == n + 1) {
                document.write('<td align="right" bgcolor="blue">', i * j, '</td>');
            }
            else {
                document.write('<td align="right">', i * j, '</td>');
            }
        }
        document.write("</tr>");
    }
    document.write("</table>");
</script>

我的科学计算机课老师要求班级制作乘法表,并找出制作十字线和绘制它们所需的等值。 在我们这样做之后,他要求我们在十字线之后绘制将在乘法表中留下的三角形(每个都用不同的颜色)。 我得到了从左到右的交叉线,如果i == j,另一个我认为我也得到了,如果i * j == n + 1。 但我真的不知道如何添加这个n。

1 个答案:

答案 0 :(得分:0)

我不知道问题是什么,通常我不只是提供代码,但这是吗?

我冒昧地重命名你的变量并提升它们。这样,代码在我的意见后更加自我解释

var start = 1,
    end = 10,
    x, y;

document.write("<table border='1' align='center' cellpadding='0' cellspacing='0'>");
for (x = start; x <= end; x++) {
    document.write('<tr>');
    for (y = start; y <= end; y++) {

      if (x === y) {
        document.write('<td>&nbsp;</td>');
      }
      else if (start+end - x == y) {
        document.write('<td>&nbsp;</td>');
      }
      else if ( start+end - x > y ) {
        if ( x < y )
          document.write('<td>1</td>');
        else
          document.write("<td>2</td>");
      }
      else {
        if ( x < y )
          document.write('<td>3</td>');
        else
          document.write("<td>4</td>");
      }

    }
    document.write("</tr>");
}
document.write("</table>");

http://jsbin.com/usesoz/5/edit