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

Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等的更多相关文章

  1. php练习——打印半金字塔、金字塔、空心金字塔、菱形、空心菱形

    半金字塔 金字塔 空心金字塔 菱形     空心菱形

  2. java实现空心金字塔

    前言 最近在学习java,遇到了一个经典打印题目,空心金字塔,初学者记录,根据网上教程,有一句话感觉很好,就是先把麻烦的问题转换成很多的简单问题,最后一一解决就可以了,然后先死后活,先把程序写死,后面 ...

  3. Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔

    转自:https://blog.csdn.net/dcrmg/article/details/52561656 一. 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像 ...

  4. Java 写三角形 空心三角形 菱形 空心菱形

    闲来无事,练习了一下Java基础中的循环语句.练习循环语句,当然少不了,用*打印出来三角形.空心三角形.菱形等这样的几何图形. 粗心大意,失误两次: 一.三角形 遇到一些小问题: 二.金字塔 由于三角 ...

  5. JavaScript打印正倒直线

    做了一个作业,用JavaScript打印正倒直线,突然觉得自己还是逻辑有待加强训练啊 document.write("<h3>打印倒正金字塔直线</h3>" ...

  6. 使用JavaScript打印网页指定DIV区域

    JavaScript打印函数myPrint(obj): JavaScript打印页面指定div区域原理:使用window.open()在浏览器打开一个新的页面(window), 使用 window.d ...

  7. JavaScript 打印控件

    JavaScript 打印控件 github地址 https://github.com/DoersGuild/jQuery.print 使用前需要引入jQuery $("#mapDiv&qu ...

  8. javascript 打印函数名称和被引用的函数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 用Python打印九九乘法表与金字塔(*)星号

    ''' 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 ...

随机推荐

  1. [TJOI2017]DNA (FFT)

    [Luogu3763] FFT做字符串匹配即可,详见代码 // luogu-judger-enable-o2 #include<cstdio> #include<cstring> ...

  2. mysql+gtid主从同步

    安装mysql  yum install mysql-community-client-5.7.17-1.el6.x86_64.rpm mysql-community-common-5.7.17-1. ...

  3. js css 点亮 星级评分

    利用css 和 js 实现星级评分 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  4. ansible部署,规划

    部署管理服务器 第一步:先检查有没有ssh服务 [root@iZm5eeyc1al5vzh8bo57zyZ ~]# rpm -qf /etc/init.d/sshd openssh-server-5. ...

  5. vue(1)安装

    1.安装node.js(https://nodejs.org/en/),我安装的是 v10.15.1 1).在nodejs安装路径下,新建node_global和node_cache两个文件夹 2). ...

  6. caffe 日志保存以及matlab绘制方法(windows以及ubuntu下)

    caffe 用matlab解析日志画loss和accuracy clc; clear; % load the log file of caffe model fid = fopen('log-prev ...

  7. SQL SERVER数据库 三种 恢复模式

    SQL SERVER 2005 以后三种恢复模式: 简单(Sample),完全(Full),大批量(Bulk_Logged) 完全备份模型 完全备份模式是指在出现数据文件毁坏时丢失数据的风险最小.如果 ...

  8. ora-1652

    ###检查是否有temp 在使用 step 2: 检查是否有事务使用到temp,并且进行删除. SELECT vt.inst_id,vs.sid,vs.serial#,vs.username,vs.o ...

  9. 剑指offer中经典的算法题之从头到尾打印链表

    话不多说上代码: 我自己的算法是: /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int ...

  10. RestTemplate中几种常见的请求方式

    GET请求 第一种:getForEntity getForEntity方法的返回值是一个ResponseEntity<T>,ResponseEntity<T>是Spring对H ...