<!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. lintcode - 恢复ip地址

    class Solution { public: /* * @param s: the IP string * @return: All possible valid IP addresses */ ...

  2. rhcs红帽插件及 轮循

    server1:yum install luci ricci -yecho westos | passwd -stdin  ricci/etc/init.d/ricci startchkconfig ...

  3. C语言标准库函数memcpy和memmove的区别以及内存重叠问题处理

    ①memcpy()和memmove()都是C语言中的标准库函数,定义在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下: void *memcpy(void *dst, cons ...

  4. 查看Oracle当前连接数

    SQL> select count(*) from v$session #当前的连接数 SQL> Select count(*) from v$session where status=' ...

  5. Silverlight 动态创建Enum

    private Type CreateEnum() { List<string> lists = new List<string>(); lists.Add("男&q ...

  6. =与==、&与&&、| 与 || 的区别

    =与== =属于赋值运算符,将右侧的值赋给左侧的变量名称 ==属于关系运算符,判断左右两边值是否相等,结果为boolean类型 &与&& &是逻辑与,&& ...

  7. maya2016无法安装卸载激活失败

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  8. python文件操作和集合(三)

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作:         f = open('file.txt','r') #以 ...

  9. LeetCode 887.鸡蛋掉落(C++)

    每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去. 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的 ...

  10. stm32 定时器初步

    今天学习STM32 的通用定时器:TIMx (TIM2.TIM3.TIM4 和 TIM5). 定时器比较复杂,功能繁多,这里我们就说最基本的计数功能. 1.定时器的时钟从哪里来? 定时器的时钟来源有 ...