zoukankan      html  css  js  c++  java
  • 25 打印金字塔

     

    1,思路分析,

      先打印出矩形 --》 打印出一半金字塔  -> 打印出完整金字塔  -> 打印出空心金字塔

    ①先打印矩形

     

     ②再打印一半的金字塔

     

     

     ③,打印完整的金字塔(找到行和列的关系)

      每一行的数目是 1,3,5,7,9,即 2*i-1

     

     ④处理每一层前的空格

      最后一行(第7行)前空格:0

      第6行前空格:      1

      第5行前空格:      2

      第4行前空格       3

      第3行前空格       4

      第2行前空格       5

      第1行前空格                    6

      。。。

      第n 行前空格:      7-n

     

     5,打印空心金字塔(处理星号打印时的空格)

     1 #include<stdio.h>
     2 
     3 void main() {
     4     for (int i = 1;i <= 7;i++) {
     5         for (int k = 1;k<=(7-i);k++) {
     6             printf(" ");
     7         }
     8         for (int j = 1;j <= (2*i-1);j++) {
     9             if (j == 1 || j == 2*i-1||i==7) {
    10                 printf("*");
    11             }
    12             else {
    13                 printf(" ");
    14             }
    15         }
    16         printf("
    ");
    17     }
    18 }

     7,通过用户的输入控制金字塔层数

     1 #include<stdio.h>
     2 
     3 void main() {
     4     int num = 0;
     5     printf("请输入层数:");
     6     scanf("%d", &num);
     7     for (int i = 1;i <= num;i++) {
     8         for (int k = 1;k<=(num-i);k++) {
     9             printf(" ");
    10         }
    11         for (int j = 1;j <= (2*i-1);j++) {
    12             if (j == 1 || j == 2*i-1||i==num) {
    13                 printf("*");
    14             }
    15             else {
    16                 printf(" ");
    17             }
    18         }
    19         printf("
    ");
    20     }
    21 }

     练习:打印空心菱形

        *

      *   *

    *       *

      *   *

        *

      

  • 相关阅读:
    内置方法(item系列、__str__方法、__del__方法)
    POJ3436
    CF551B
    HDU1588
    HDU3117
    CF834D
    CF832D
    CF832C
    POJ1930
    POJ3666
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/12346678.html
Copyright © 2011-2022 走看看