做了一份html控制台画规则形状的代码
1.菱形
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var a=math.floor(prompt());//用户键入需要输入的值
a = a
var i=0;//初始化变量i,z,x
var z= "*"
var x = " "
var t = a%2 //对用户输入的值进行判断由于考虑了对角线否则可用a值直接进行运算
switch (t){
case 1://a为奇数时进行运算
t = Math.floor((a+1)/2)
var i=0;
var z= "*"
while (i<t-1){
var j = 0
x=" "
while (j<(t-i)){
x = x + " "
j++
}
console.info(x+z)//进行记录数据
i++
z= z+ "*" + "*"
}
var i=0;
var z= " "
var x = "*"
while (i<t){
var j = 0
var x="*"
while (j<(t-i-1)){
x = x + "*"+ "*"
j++
}
z= z + " "
console.info(z + x)
i++
}
break;//破土而出运行接下来的程序
case 0:
t = Math.floor((a+1)/2)
var i=0;
var z= "*"
while (i<t){
var j = 0
x=""
while (j<(t-i)){
x = x + " "
j++
}
console.info(x+z)
i++
z= z+ "*" + "*"
}
var i=0;
var z= " "
var x = "*"
while (i<t){
var j = 0
var x="*"
while (j<(t-i-1)){
x = x + "*"+ "*"
j++
}
console.info(z + x)
i++
z= z + " "
}
}
</script>
</head>
<body>
</body>
</html>
空心菱形
思路 第一种用双层循环 i,j 可视为坐标 x,y 求满足x,y的函数为 “ * ” ,不满足的为 “ ” 空格。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var a=parseInt(prompt(“请输入整数 如 8 ”));//用户输入
var a=2*a
var z = " "//初始化
for (var i = 0; i < a+1; i++) {
var z = ""
for (var j = 0; j < a+1; j++) {
//对零星的四条边进行条件判断规则的线条基本可用这个思路
if (i+j==a/2) {
z="*" + z
}
else if (i+j==3*a/2) {
z="*" + z
}
else if (j-i==a/2) {
z="*" + z
}
else if (j-i==-a/2) {
z="*" + z
}
// 十字空心菱形如果取消注释则菱形中间会出现十字架注释则为全空心菱形
//else if (i==a/2 || j==a/2){
// z="*" + z
//}
//上图条件不成立的时候空格占位
else{
z=" " + z
}
}console.info(z)
}
</script>
</head>
<body>
</body>
</html>