黑马程序员技术交流社区

标题: 求打印正三角形和倒三角形的思路及实现步骤 [打印本页]

作者: 哐啷    时间: 2015-10-7 22:40
标题: 求打印正三角形和倒三角形的思路及实现步骤
就这里有点蒙

作者: guozihui876    时间: 2015-10-7 23:50
需要用到嵌套的for循环,内层的for循环打印*的个数,外层的for循环控制列数
作者: guozihui876    时间: 2015-10-7 23:55
for (int i=1;i<=9;i++){
        for(int j=1;j<=i;j++){
            printf("* ");
        }
        printf("\n");
    }  
这个是正三角形
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *

for (int i=9; i>=1; i--) {
        for (int j=1; j<=i; j++) {
            printf("* ");
        }
        printf("\n");
    }
这个是倒三角形
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*

for (int i=1;i<=9;i++){
        for (int k=9; k>=i; k--) {
            printf(" ");
        }
        for(int j=1;j<=i;j++){
            printf("* ");
        }
        printf("\n");
    }
这个算是比较漂亮点的三角形了
         *
        * *
       * * *
      * * * *
     * * * * *
    * * * * * *
   * * * * * * *
  * * * * * * * *
* * * * * * * * *

for (int i=9; i>=1; i--) {
        for (int k=9; k>=i; k--) {
            printf(" ");
        }
        for (int j=1; j<=i; j++) {
            printf("* ");
        }
        printf("\n");
    }
这个是比较漂亮点的到三角形
* * * * * * * * *
  * * * * * * * *
   * * * * * * *
    * * * * * *
     * * * * *
      * * * *
       * * *
        * *
         *



打印三角形的思路和打印乘法表的思路差不多, 下面的两个三角形,无非就是在同一行的添加了空格,判断每行的空格的多少
作者: qiyueios    时间: 2015-10-8 00:20
正三角的打印根据*的个数就是他的行数所以j<=i这个控制条件就能满足了,倒三角正好互补比如第一行9个第二行就8个那么控制列数就用行与*的个数的关系就好了不行就写个二元函数套一下就行。
作者: lvguodong    时间: 2015-10-8 00:30
三楼回答的已经很详细了,其实就是两层for循环的灵活运用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2