打印直角三角形
* 1
** 2
*** 3
**** 4
通过图形,可以得出规律,第i行时,打印的星星为i个
document.write("正右半边
");
for(i=1;i<=n;i++){//n代表行数
for(j=1;j<=i;j++){
document.write("*");//打印每行星星
}
document.write("
");
}
左半边 空格 星号
* 4-1 1
** 4-2 2
*** 4-3 3
**** 4-4 4
n代表的是n行 第i行,空格n-i,星号i
document.write("正左半边
");
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("
");
}
/金字塔 空格 星星
* 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("正金字塔
");
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("
")
}
倒右边 星号
**** 4
*** 3
** 2
* 1
n代表的是n行 第i行,空格n-i,星星n-i+1
document.write("倒右半边
");
for (var i = 1; i<=n; i++) { //n代表行数
for(j=1;j<=n-i+1;j++){
document.write("*");
}
document.write("
");
}
倒左半边 空格 星星
**** 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("倒左半边
");
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("
");
}
/*倒金字塔 空格 星星
******* 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("倒金字塔
");
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("
");
}
/*菱形
*
***
*****
*******
*****
***
*
思路:先打印上半部分,再打印下半部分*/
document.write("菱形
");
//打印菱形上半部分思路
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("
");
}
//打印菱形下半部分思路
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("
");
}
空心正三角形
*
* *
* *
*******
思路:边上的打印星星,其他的打印空格,最后一行打印星星
document.write("空心正三角形
");
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("
");
}
空心倒三角形
*******
* *
* *
*
思路:边上的第一行的星星以及两条夹角边的星星,其他的打印空格,第一行打印星星
document.write("空心倒三角形
");
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("
");
}
空心菱形
*
* *
* *
* *
* *
* *
*
思路:和打印菱形一样,先打印上半部分,再打印下半部分
document.write("空心菱形
");
//上半部分实行
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("
");
}
// 下半部分实现
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("
");
}