概述
Javascript打印金字塔,倒立金字塔,
空心金字塔,菱形,空心菱形等
打印直角三角形
*
1
**
2
***
3
****
4
通过图形,可以得出规律,第i行时,打印的星星为i个
document.write("正右半边<br>");
for(i=1;i<=n;i++){//n代表行数
for(j=1;j<=i;j++){
document.write("*");//打印每行星星
}
document.write("<br />");
}
左半边
空格
星号
*
4-1
1
**
4-2
2
***
4-3
3
****
4-4
4
n代表的是n行 第i行,空格n-i,星号i
document.write("正左半边<br>");
for (i=1; i <= n; i++) { //n代表行数
for(j=1;j<=n-i;j++){
document.write(" ");//打印每行空格
}
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
n代表的是n行
第i行,空格n-i,星星2*i-1
document.write("正金字塔<br/>");
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=n-i;j++){
document.write(" ");
}
for(k=1;k<=2*i-1;k++){
document.write("*")
}
document.write("<br/>")
}
倒右边
星号
****
4
***
3
**
2
*
1
n代表的是n行 第i行,空格n-i,星星n-i+1
document.write("倒右半边<br/>");
for (var i = 1; i<=n; i++) { //n代表行数
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
n代表的是n行 第i行,空格i-1;星星n-i+1
document.write("倒左半边<br/>");
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=i-1;j++){
document.write(" ");//打印每行空格
}
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++){ //n代表行数
for(j=1;j<=i-1;j++){
document.write(" ");
}
for(k=1;k<=2*(n-i+1)-1;k++){
document.write("*");
}
document.write("<br/>");
}
/*菱形
*
***
*****
*******
*****
***
*
思路:先打印上半部分,再打印下半部分*/
document.write("菱形<br/>");
//打印菱形上半部分思路
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=n-i;j++){
document.write(" ");
}
for(k=1;k<=2*i-1;k++){
document.write("*");
}
document.write("<br/>");
}
//打印菱形下半部分思路
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=i;j++){//要去掉下半部分的最上一行,第二行变为第一行,每行最前面的空格加一个,所以j<=i,而不是j<=j-1;
document.write(" ");
}
for(k=1;k<=2*(n-i)-1;k++){//第一行为原来第二行,星星个数也随之变化;
document.write("*");
}
document.write("<br/>");
}
空心正三角形
*
* *
*
*
*******
思路:边上的打印星星,其他的打印空格,最后一行打印星星
document.write("空心正三角形<br/>");
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=n-i;j++){
document.write(" ");
}
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(" ");//打印空心
}
}
document.write("<br/>");
}
空心倒三角形
*******
*
*
* *
*
思路:边上的第一行的星星以及两条夹角边的星星,其他的打印空格,第一行打印星星
document.write("空心倒三角形<br/>");
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=i-1;j++){
document.write(" ");
}
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(" ");//打印两条斜边之间的空格
}
}
document.write("<br/>");
}
空心菱形
*
* *
*
*
*
*
*
*
* *
*
思路:和打印菱形一样,先打印上半部分,再打印下半部分
document.write("空心菱形<br/>");
//上半部分实行
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=n-i;j++){
document.write(" ");
}
for(k=1;k<=2*i-1;k++){
if (k==1||k==2*i-1) {
document.write("*");//打印两条斜边的星星
}else{
document.write(" ")//打印两条斜边之间的空格
}
}
document.write("<br/>");
}
// 下半部分实现
for(i=1;i<=n;i++){ //n代表行数
for(j=1;j<=i;j++){//每行最前面的空格
document.write(" ");
}
for(k=1;k<=2*(n-i)-1;k++){
if (k==1||k==2*(n-i)-1) {
document.write("*");
}else{
document.write(" ");
}
}
document.write("<br/>");
}
最后
以上就是紧张钢笔为你收集整理的JS打印各种形状:星星金字塔_完整菱形_三角形_思路算法详解_附源代码的全部内容,希望文章能够帮你解决JS打印各种形状:星星金字塔_完整菱形_三角形_思路算法详解_附源代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复