Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>金字塔-菱形-空心</title>
    <script>
        var n=window.prompt("请输入行数");
        /* 右半边    星号
* 1 ** 2 *** 3 **** 4 第i行,空格无,星号i
*/ document.write("正右半边<br>"); for(i=1;i<=n;i++){//行数 for(j=1;j<=i;j++){ document.write("*");//打印每行星号 } document.write("<br />"); } /* 左半边 空格 星号
* 4-1 1 ** 4-2 2 *** 4-3 3 **** 4-4 4 第i行,空格n-i,星号i
*/ document.write("正左半边<br>"); for (i=1; i <= n; i++) { for(j=1;j<=n-i;j++){ document.write("&nbsp;");//打印每行空格 } for(k=1;k<=i;k++){ document.write("*");//打印每行星号 } document.write("<br/>"); } /*金字塔 空格 星号 * 3=4-1 1=2*1-1 *** 2=4-2 3=2*2-1 ***** 1=4-1 5=2*3-1 ******* 0=4-4 7=2*4-1 第i行,空格n-i,星号2*i-1 */ document.write("正金字塔<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ document.write("*") } document.write("<br/>") } /*倒右边 星号 **** 4 *** 3 ** 2 * 1 第i行,空格n-i,星号n-i+1 */ document.write("倒右半边<br/>"); for (var i = 1; i<=n; i++) { for(j=1;j<=n-i+1;j++){ document.write("*"); } document.write("<br/>"); } /*倒左半边 空格 星号
**** 0=4-4=1-1 4=4-1+1 *** 1=4-3=2-1 3=4-2+1 ** 2=4-2=3-1 2=4-3+1 * 3=4-1=4-1 1=4-4+1 第i行,空格i-1;星号n-i+1
*/ document.write("倒左半边<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=i-1;j++){ document.write("&nbsp;");//打印每行空格 } for(k=1;k<=n-i+1;k++){ document.write("*");//打印每行星号 } document.write("<br/>"); } /*倒金字塔 空格 星号
******* 0=4-4=1-1 7=2*4-1 ***** 1=4-3=2-1 5=2*3-1 *** 2=4-2=3-1 3=2*2-1 * 3=4-1=4-1 1=2*1-1 第i行,空格i-1;星号2*(n-i+1)-1
*/ document.write("倒金字塔<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=i-1;j++){ document.write("&nbsp;"); } for(k=1;k<=2*(n-i+1)-1;k++){ document.write("*"); } document.write("<br/>"); } /*菱形 * *** ***** ******* ***** *** * 思路:先打印上半部分,再打印下半部分*/ document.write("菱形<br/>"); //打印菱形上半部分 for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ document.write("*"); } document.write("<br/>"); } //打印菱形下半部分 for(i=1;i<=n;i++){ for(j=1;j<=i;j++){//要去掉下半部分的最上一行,第二行变为第一行,每行最前面的空格加一个,所以j<=i,而不是j<=j-1; document.write("&nbsp;"); } for(k=1;k<=2*(n-i)-1;k++){//第一行为原来第二行,星号个数也随之变化; document.write("*"); } document.write("<br/>"); } /*空心正三角形 * * * * * ******* 思路:边上的打印星号,其他的打印空格,最后一行打印星号 */ document.write("空心正三角形<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ if(i==n){//最后一行星号全打印出来 document.write("*") } else if(k==1||k==2*i-1){//打印两边上的星号 document.write("*") } else{ document.write("&nbsp;");//打印空心 } } document.write("<br/>"); } /*空心倒三角形 ******* * * * * * 思路:边上的打印星号,其他的打印空格,第一行打印星号 */ document.write("空心倒三角形<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=i-1;j++){ document.write("&nbsp;"); } for(k=1;k<=2*(n-i)+1;k++){ if (i==1) {//打印第一行星号 document.write("*"); }else if(k==1||k==2*(n-i)+1){//打印两边上的星号 document.write("*"); }else{ document.write("&nbsp;");//打印空心 } } document.write("<br/>"); } /*空心菱形 * * * * * * * * 思路:和打印菱形一样,先打印上半部分,再打印下半部分 */ document.write("空心菱形<br/>"); //上半部分 for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ if (k==1||k==2*i-1) { document.write("*");//打印边上星号 }else{ document.write("&nbsp;")//打印空心空格 } } document.write("<br/>"); } // 下半部分 for(i=1;i<=n;i++){ for(j=1;j<=i;j++){//每行最前面的空格 document.write("&nbsp;"); } for(k=1;k<=2*(n-i)-1;k++){ if (k==1||k==2*(n-i)-1) { document.write("*"); }else{ document.write("&nbsp;"); } } document.write("<br/>"); } </script> </head> <body> </body> </html>

 

转载于:https://www.cnblogs.com/web-HCJ/p/4648645.html

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值