文章目录

    • 1.输出正直角三角形
    • 2.输出倒直角三角形
    • 3.输出正等腰三角形
    • 4.输出倒等腰三角形
    • 5.输出菱形
    • 6.输出旋转90°的等腰三角形
    • 7.补充
      • 1.输出矩形阵列
      • 2.将矩阵倾斜

本篇主要为练习利用for循环语句输出*图形

1.输出正直角三角形

/*4***********/#includeint main(){ int i,j,n; scanf("%d",&n); //输入你想要的行数 for(i=1;i<=n;i++) //系统输出的行数 {for(j=1;j<=i;j++) //当前行的*数printf("*");printf("\n"); //每次输出一行结束后换行 }return 0;}

注意:在利用for循环嵌套时,每一个for循环都要运行完成才能跳出内层,进入外层循环。

2.输出倒直角三角形

/*4***********/#includeint main(){ int i,j,n; scanf("%d",&n); //输入你想要的行数 for(i=1;i<=n;i++) //系统输出的行数 {for(j=1;j<=n-i+1;j++)//当前行的*数printf("*");printf("\n");//每次输出一行结束后换行 }return 0;}

3.输出正等腰三角形

此时需要加入空格来实现

/*4 **** *************/#includeint main(){int i,j,k,n;scanf("%d",&n); //输入你想要的行数for(i=1;i<=n;i++) //系统输出的行数{for(k=1;k<=n-i;k++) //当前行的空格数printf(" ");for(j=1;j<=2*i-1;j++) //当前行的*数printf("*");printf("\n"); //每次输出一行结束后换行}return 0;}

4.输出倒等腰三角形

这里只要注意*和空格输出个数公式即可

/*4***** *****/#includeint main(){int i,j,k,n;scanf("%d",&n);//输入你想要的行数for(i=1;i<=n;i++)//系统输出的行数{for(k=1;k<=i-1;k++)//当前行的空格数printf(" ");for(j=1;j<=2*(n-i)-1;j++)//当前行的*数printf("*");printf("\n");//每次输出一行结束后换行}return 0;}

5.输出菱形

更改 i 值所取范围可改变菱形行数

/* * ******** ************ *****/#includeint main(){int i,j,k;for(i=1;i<=4;i++) //上半等腰三角形行数(高){for(j=0;j<=3-i;j++) //输出的空格数printf(" ");for(k=1;k<=2*i-1;k++)printf(" * ");//当前行的*数printf("\n");}for(i=3;i>=1;i--)//下半等腰三角形行数(高){for(j=0;j<=3-i;j++)//输出的空格数printf(" ");for(k=1;k<=2*i-1;k++)//当前行的*数printf(" * ");printf("\n");} return 0;}

6.输出旋转90°的等腰三角形

这里采用了1,2题的拼接思路

/***********/#includeint main(){int i,j,k;for(i=1;i<=3;i++) //上半{for(j=1;j<=i;j++)printf("*");printf("\n");}for(i=2;i>=1;i--) //下半{for(j=1;j<=i;j++)printf("*");printf("\n");} return 0;}

7.补充

1.输出矩形阵列

这是最基本的for循环嵌套案例,打印矩形阵列

/**********************/#includeint main(){int i,j;for(i=1;i<=5;i++)//控制行数{for(j=1;j<=4;j++)//控制列数printf("*");printf("\n");//换行} return 0;}

2.将矩阵倾斜

接下来我们对它稍微做一下改动,打印出一个平行四边形
(这里我们仅仅需要加入空格即可,其余代码不变)

/* ******** ******** *****/#includeint main(){int i,j,k;for(i=1;i<=5;i++){for(k=1;k<=i;k++) //加入空格printf(" ");for(j=1;j<=4;j++)printf("*");printf("\n");} return 0;}

如果想让它向另一方向倾斜则更改空格处代码即可

for(k=1;k<=5-i+1;k++)printf(" ");

结果输出:

 ******** ******** ****