在论坛上看到一个javascript的机试题,自己试着写了写,基本上实现了题目的要求:
有条蛇它长度不固定,蛇头朝北顺时针盘旋着,请打印出如下图的蛇形矩阵。答题时间40分钟。
9 9 9 9 9 9 9
8 6 6 6 6 6 9
8 6 3 3 4 7 9
8 5 3 1 4 7
8 5 2 2 4 7
8 5 5 5 4 7
8 8 8 7 7 7
源代码:
- <html xmlns=" http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
var maxNum=9;
var maxRow=7;
var maxCol=7;
var $get=document.getElementById;
function initTable()
{
var tr=null;
var td=null;
var table=null;
var tbody=null;
table=document.createElement("table");
//table=$get("table");
tbody=document.createElement("tbody");
//tbody=$get("newbody");
table.id="table_1";
table.style.display="block";
table.width="200px";
table.height="200px";
table.border=1;
for(var rI=1;rI<=7;rI++)
{
tr=document.createElement("tr");
tr.id="tr"+rI;
for(var colI=1;colI<=7;colI++)
{
td=document.createElement("td");
td.id="td"+rI+""+colI;
tr.appendChild(td);
}
tbody.appendChild(tr);
}
table.appendChild(tbody);
document.body.appendChild(table);
//alert($get("table_1"));
}
function fillData()
{
var table=null;
var num=1;
var numIndex=1;
var de=1;
var startRow=4;
var startCol=4;
var rowIndex=startRow;
var colIndex=startCol;
var cell=null;
var dnumIndex=0;
var dMaxnum=1;
var span=null;
for(num=1;num<=9;num++)
{
for(numIndex=1;numIndex<=num;numIndex++)
{
cell=$get("td"+rowIndex+""+colIndex);
//alert(rowIndex+""+colIndex+document.getElementById("td"+rowIndex+""+colIndex));
cell.appendChild(document.createTextNode(num+""));
//alert("de:"+de+"---rowIndex:"+rowIndex+"---colIndex:"+colIndex+"---dnumIndex:"+dnumIndex+"---num:"+num);
dnumIndex++;
if(dnumIndex>=dMaxnum)
{
de=(de+1)%4;
dnumIndex=1;
if(de%2==0)
dMaxnum++;
}
switch(de)
{
case 0:
rowIndex--;
break;
case 1:
colIndex++;
break;
case 2:
rowIndex++;
break;
case 3:
colIndex--;
break;
default:
break;
}
//alert("de:"+de+"---rowIndex:"+rowIndex+"---colIndex:"+rowIndex+"---dnumIndex:"+dnumIndex);
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="s">
</div>
</form>
<script language="javascript">
//init();
initTable();
fillData()
</script>
</body>
</html>
- 长度不限制,程序可以稍作修改,通过传入的参数动态生成。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
javascript 机试题—蛇形数字
最新推荐文章于 2023-09-15 21:39:26 发布