问答详情
源自:-

用js 输出杨辉三角 但是养让它倒着输出

用javascript输出杨辉三角 但是要让它倒着输出   该这样做

这是我的实路    求大神看看 哪里错了 谢谢 :

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>倒三角</title>

</head>

<body>

<script type="text/javascript">

var yang = new Array();   //定义第一个数组

for(var i=0;i<10;i++){ //i代表行,这里是行的循环

if(i == 0){ //当i等于0,也就是数组的第一个输出项

yang.push(1); //给数组的第一个输出项输出1

}

else if(i == 1){ //当i不等于1时 再次进行判断   判断:当i等于1,也就是数组的第二个输出项

yang = new Array(); //重置数组    我也不知道为啥要重置

yang.push(1); //给数组的第二个输出项第一列输出1

yang.push(1); //给数组的第二个输出项第二列输出1

}

else{

var yang2=new Array(); //添加一个数组

yang2.push(1); //给第二个数组第一个输出项输出

for(var j = 0;j<yang.length - 1; j++){ /*循环j代表列 初始为0 循环条件是第一个数组的输出长度减一

循环步长是自增1*/

yang2.push(yang[j] + yang[j+1]);/*为第二个数组增加一个数*/

}

yang2.push(1); //为第二个数组的末端增加一个数  这个数是1

yang = new Array(); //将第一个数组进行初始化

yang = yang2; //将第二个数组的值赋值给第一个数组

}

console.log(yang.join());//输出控制台

}

<!--倒三角思路:能不能将正三角输出在控制台   将倒三角输出在网页页面???-->

var dao=new Array();   //定义一个新的数组

dao=yang; //将第一个数组 赋值给 新的数组 让新的这个数组的值  变成第一个数组的最后一行的值 

for(var y=0;y<10;y++){ //dao 数组的行 

var dao2 = new Array(); //第二个数组

for(var h=0;h <= i;h++){ //第二个数组的行   也就是第一个数组的列

if(h == 0){ //当j 即第二个数组的序列等于 0 时

dao.push(1); //push 一个1

}

else{ //否则  

if(dao[h]-dao[h-1] > 0){ //当这列的值 减去上一列的值 不为大于0时

dao.push(dao[h]-dao[h-1]); //就输出这个数

}

else{ //否则

dao.push(dao[h]-dao[h+1]); //就用这列减去下列的值 并输出这个数

}

}

}

document.write(dao.join(" ")+"<hr>");

}

</script>

</body>

</html>






















提问者:__无悔 2017-03-20 12:37

个回答