zoukankan      html  css  js  c++  java
  • C++学习(十三)(C语言部分)之 练习

    打印图像 要用循环 空心或者实心都可以
    1、矩形 菱形 三角形 梯形 六边形
    2、打印倒三角形的99乘法表

     

     具体测试代码如下:

      1 /*
      2  1、打印图像 要用循环 空心或者实心都可以
      3 矩形 菱形  三角形 梯形  六边形
      4 2、打印倒三角形的99乘法表
      5 */
      6 
      7 
      8 #include<stdio.h>
      9 #include<stdlib.h>
     10 int main()
     11 {
     12 #if 1
     13     //打印出矩形
     14 /*
     15                **********
     16                *        *
     17                *        *
     18                **********
     19 */
     20 //实心的矩形
     21     printf("打印出实心矩形:
    ");
     22     for (int i = 0; i<4; ++i)//一共打印4行
     23     {
     24         for (int j=0; j < 8; ++j) printf("*");
     25         printf("
    ");
     26     }
     27     printf("
    ");
     28 //空心得矩形
     29     printf("打印出空心矩形:
    ");
     30     for (int i = 0; i<4; ++i)//一共打印4行
     31     {
     32         for (int j = 0; j < 10; ++j)//一共打印10列
     33         {
     34             if (i==0||i==3||j==0||j==9)
     35                 printf("*");
     36             else
     37                 printf(" ");
     38             
     39         }printf("
    ");
     40     }
     41     printf("
    ");
     42 
     43 #endif    
     44 
     45 #if 1
     46     //打印出菱形
     47 /*
     48                     *
     49                   *   *
     50                 *       *
     51                   *   *
     52                     *
     53 */
     54 //打印实心菱形
     55     printf("打印出实心菱形:
    ");
     56     for (int i = 0; i<3; ++i)//先打印3行
     57     {
     58         //先打印空格
     59         for(int j=0;j<3-i;++j) printf(" ");
     60         //打印*
     61         for(int j=0;j<2*i+1;++j) printf("*");
     62         printf("
    ");
     63     }
     64     for (int i = 0; i<2; ++i)//再打印2行
     65     {
     66         //先打印空格 1 2
     67         for (int j = 0; j<i+2 ; ++j) printf(" ");
     68         //打印*
     69         for (int j = 0; j<3-2*i; ++j) printf("*");
     70         printf("
    ");
     71     }
     72     printf("
    ");
     73 
     74 //打印空心菱形
     75     printf("打印出空心菱形:
    ");
     76     for (int i = 0; i<4; i++)//先打印4行
     77     {
     78         //打印空格
     79         for (int j = 0; j<4 - i; j++)
     80         {
     81             printf(" ");
     82         }
     83         //打印*号
     84         for (int j = 0; j<2 * i + 1; j++)
     85         {
     86             //判断在需要打印的地方的第一位和最后一位打印*号,中间位置空格   
     87             if ((j == 0) || (j + 1 == 2 * i + 1))
     88             {
     89                 printf("*");
     90             }
     91             else
     92             {
     93                 printf(" ");
     94             }
     95         }
     96         printf("
    ");
     97     }  
     98 
     99     for(int i=0;i<3;i++) //打印剩下的3行 
    100     {  
    101         //打印空格
    102         for(int j=0;j<i+2;j++)  
    103         {  
    104             printf(" ");      
    105         } 
    106         //打印*号
    107         for (int j = 6; j>2 * i + 1; j--)
    108         {
    109             //判断在需要打印的地方的第一位和最后一位打印*号,中间位置空格   
    110             if ((j == 6) || (j - 1 == 2 * i + 1))
    111             {
    112                 printf("*");
    113             }
    114             else{
    115                 printf(" ");
    116             }
    117         }
    118         printf("
    ");
    119     }
    120 printf("
    ");
    121 
    122 #endif
    123 
    124 #if 1
    125     //打印出三角形
    126 /*
    127                     *
    128                    * *
    129                   *****
    130 */
    131     //打印出实心三角形
    132 printf("打印出实心三角形:
    ");
    133 for (int i = 0; i < 3; ++i)//打印三行
    134 {
    135     //打印空格
    136     for(int j=0;j<2-i;++j) printf(" ");
    137     //打印*号
    138     for(int j=0;j<2*i+1;++j) printf("*");
    139     printf("
    ");
    140 }
    141 printf("
    ");
    142 
    143      //打印出空心三角形
    144 printf("打印出空心三角形:
    ");
    145 for (int i = 0; i < 3; ++i)//打印三行
    146 {
    147     //打印空格
    148     for (int j = 0; j<2 - i; ++j) printf(" ");
    149     //打印*号
    150     for (int j = 0; j < 2 * i + 1; ++j)
    151     {
    152         if (i == 1&& j ==1 )
    153             printf(" ");
    154         else
    155             printf("*");    
    156     }
    157     printf("
    ");
    158 }
    159 printf("
    ");
    160 
    161 #endif
    162 
    163 #if 1
    164     //打印出梯形
    165 /*
    166                    ***
    167                   *   *
    168                  *     *
    169                 *********
    170 */
    171       //打印出实心梯形
    172 printf("打印出实心梯形:
    ");
    173 for (int i = 0; i < 4; ++i)//打印4行
    174 {
    175     //先打印空格 1 2 3
    176     for(int j=0;j<3-i;++j) printf(" ");
    177     //在打印*号
    178     for(int j=0;j<3+2*i;++j) printf("*");
    179     printf("
    ");
    180 }
    181 printf("
    ");
    182       
    183        //打印出空心梯形
    184 printf("打印出空心梯形:
    ");
    185 for (int i = 0; i < 4; ++i)//打印4行
    186 {
    187     //先打印空格 1 2 3
    188     for (int j = 0; j<3 - i; ++j) printf(" ");
    189     //在打印*号
    190     for (int j = 0; j < 3 + 2 * i; ++j)
    191     {
    192         if ((j == 0) || (j + 1 == 2 * i + 3)||i==3)//判断出那些需要打印* 哪些打印空格
    193         {
    194             printf("*");
    195         }
    196         else
    197         {
    198             printf(" ");
    199         }
    200     }
    201     printf("
    ");
    202 }
    203 printf("
    ");
    204 
    205 #endif
    206 
    207 #if 1
    208     //打印出六边形
    209 /*
    210                      *****
    211                     *     *
    212                    *       *
    213                     *     *
    214                      *****
    215 */
    216         //打印出实心六边形
    217 printf("打印出实心六边形:
    ");
    218 for (int i = 0; i < 3; ++i)//先打印三行 上半部分
    219 {
    220     //先打印空格
    221     for(int j=0;j<2-i;++j) printf(" ");
    222     //打印*号
    223     for(int j=0;j<2*i+5;++j) printf("*");
    224     printf("
    ");
    225 }
    226 for (int i = 0; i < 2; ++i)//再打印两行 下半部分
    227 {
    228     //先打印空格
    229     for (int j = 0; j<1+ i; ++j) printf(" ");
    230     //打印*号
    231     for (int j = 0; j<7 - 2 * i ; ++j) printf("*");
    232     printf("
    ");
    233 }
    234 printf("
    ");
    235 
    236         //打印出空心六边形
    237 printf("打印出空心六边形:
    ");
    238 for (int i = 0; i < 3; ++i)//先打印三行 上半部分
    239 {
    240     //先打印空格
    241     for (int j = 0; j<2 - i; ++j) printf(" ");
    242     //打印*号
    243     for (int j = 0; j < 2 * i + 5; ++j)
    244     {
    245         if(i==0||j==0||j+1==(2*i+5))
    246             printf("*");
    247         else 
    248             printf(" ");
    249     }
    250     printf("
    ");
    251 }
    252 for (int i = 0; i < 2; ++i)//再打印两行 下半部分
    253 {
    254     //先打印空格
    255     for (int j = 0; j<1 + i; ++j) printf(" ");
    256     //打印*号
    257     for (int j = 0; j < 7 - 2 * i; ++j)
    258     {
    259         if (i == 1 || j == 0 || j + 1 == (7 - 2 * i))
    260             printf("*");
    261         else
    262             printf(" ");
    263     }
    264     printf("
    ");
    265 }
    266 printf("
    ");
    267 
    268 #endif
    269 
    270 #if 1
    271     //打印出倒三角形的99乘法表
    272 printf("打印出倒三角形的99乘法表:
    ");
    273 for (int i = 1; i < 10; ++i)
    274 {
    275     for (int j = i; j < 10; ++j)
    276         printf("%d*%d=%d	", i, j, i*j);
    277     printf("
    ");
    278 }
    279 
    280 #endif
    281 
    282     system("pause");
    283     return 0;
    284 }

     2018-06-19  13:11:20

     

     

  • 相关阅读:
    Ubuntu 系统装机指南
    java读取配置文件属性
    反转单链表 递归与非递归
    迟到的2013年终总结
    2014年阅读资料总结
    程序人生的四个象限和两条主线
    查找单链表中倒数第k个结点
    技术人员应真正学会的第二课程
    Linux“七大蠢”收录
    postman测试方法,出现400错误码
  • 原文地址:https://www.cnblogs.com/Yuuki-/p/9198120.html
Copyright © 2011-2022 走看看