<!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. POJ3074 Sudoku 剪枝深(神?)搜

    emm...挺秀的...挺神的? 每行,每列,每宫用一个二进制数表示选或没选的状态,刚开始设没选为1,然后更改状态的时候异或一下就好了: 这样可以通过lowbit取出每一个没有选过的数:(妙啊? 关于 ...

  2. 关于Django中路由层(URL-conf)

    关于路由层 路由层其实就是项目中urls.py那个文件,那里面存放着url和视图函数的对应关系它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来 ...

  3. sofa-boot(1)helloworld项目

    本示例参考:https://www.sofastack.tech/sofa-boot/docs/QuickStart 示例采用sofa-boot 3.1.1版本. 如下步骤: 1.进入https:// ...

  4. java——HashMap、Hashtable

    Map:类似Python的字典 HashMap: 不支持线程的同步,即同一时刻不能有多个线程同时写HashMap: 最多只允许一条记录的键值为null,不允许多条记录的值为null HashMap遍历 ...

  5. SpringCloud+Redis

    redis①是一种nosql数据库,以键值对<key,value>的形式存储数据,其速度相比于MySQL之类的数据库,相当于内存读写与硬盘读写的差别,所以常常用作缓存,用于少写多读的场景下 ...

  6. "i++"和“++i”的区别

    测试: #include <iostream> using namespace std; int main(){ int i =0; cout << "初始化 i = ...

  7. python_文件 处理

    一.字符编码 内存固定使用unicode编码 数据最先产生于内存中,是unicode格式,要想传输需要转成bytes格式 # unicode -------> enconde( u t f - ...

  8. #1413 : Rikka with String 后缀自动机 + 二级差分

    http://hihocoder.com/problemset/problem/1413?sid=1199641 这题断断续续做了2个多星期吧,一直不会 设总答案为sum,替换后新加的子串数量为x,失 ...

  9. Java基础10-循日历制作

    编写过程:先指定固定的年份来输出指定月份的日历 /*计算1900年1月1日到2018年11月1日一共有多少天 计算月份 对7进行取模,结果就为星期几 */ import java.util.Scann ...

  10. informix(南大通用)sql语法的差异

    1.create view  444(...)  as select ...from... 2.insert into select.......union  select     不支持 请分开写 ...