<!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. 查看php 相关信息

    PHP系统常量 __FILE__ 当前PHP程序脚本的绝对路径及文件名称 __LINE__ 存储该常量所在的行号 __FUNCTION__ 存储该常量所在的函数名称 __CLASS__ 存储该常量所在 ...

  2. JTAG与JLink说明

    JTAG接口解读 通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题:一类用于Debug:一般支持JTAG的CPU内都包含了这两个模块. 一个含有JTAG Debug接口模块 ...

  3. Java的观察者

    class Teacher extends Observable { public void startLesson() { System.out.println(String.format(&quo ...

  4. Vue.js-----轻量高效的MVVM框架(八、使用组件)

    什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有 ...

  5. vue vue-resource网络请求

    在使用get/post 网络请求,需要下载插件 "vue-resource" npm install vue-resource -s 在路由要导入及注册 import Vue fr ...

  6. java编程--04比较几个常用的日期时间相关类的区别

    第一篇,介绍日期的比较 第二篇,介绍日期的格式化 第三篇,介绍关于日期常用的计算 第四篇,比较几个常用的日期时间相关类的区别 第五篇,jdk9对日期类进行了更新,写一些i自己的学习心得. 下面以一组思 ...

  7. jquery mobile - select and input - horizontal - in same line

    控件组合的水平布局 select + input 在同一行 注意jquery mobile 的js 和css 的版本, 一些低版本 估计不支持 <!DOCTYPE html> <ht ...

  8. [一点一滴.NET]前台线程和后台线程

    前台线程和后台线程就是通过线程实例的属性IsBackground=true or false来区分的. 新建一个线程是默认是后台线程. 前台线程全部执行完之后,才退出进程. 进程退出,所有的后台线程全 ...

  9. Kudu和HBase定位的区别

    不多说,直接上干货! Kudu和HBase定位的区别 Kudu 的定位是提供 “ast analytics on fast data” ,也就是在快速更新的数据上进行快速的查询.它定位 OLAP 和少 ...

  10. 牛客网Java刷题知识点之字节流练习之从A处复制文本文件到B处(FileReader、FileWriter )、复制文本文件的原理图解

    不多说,直接上干货! CopyTextTest.java package zhouls.bigdata.DataFeatureSelection.test; import java.io.FileRe ...