欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++学习(十三)(C语言部分)之 练习

程序员文章站 2022-01-01 12:25:44
打印图像 要用循环 空心或者实心都可以1、矩形 菱形 三角形 梯形 六边形2、打印倒三角形的99乘法表 具体测试代码如下: 2018-06-19 13:11:20 ......

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

 

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

 

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

 

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

 

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

 

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

 

C++学习(十三)(C语言部分)之 练习

C++学习(十三)(C语言部分)之 练习

 

 具体测试代码如下:

  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("打印出实心矩形:\n");
 22     for (int i = 0; i<4; ++i)//一共打印4行
 23     {
 24         for (int j=0; j < 8; ++j) printf("*");
 25         printf("\n");
 26     }
 27     printf("\n");
 28 //空心得矩形
 29     printf("打印出空心矩形:\n");
 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("\n");
 40     }
 41     printf("\n");
 42 
 43 #endif    
 44 
 45 #if 1
 46     //打印出菱形
 47 /*
 48                     *
 49                   *   *
 50                 *       *
 51                   *   *
 52                     *
 53 */
 54 //打印实心菱形
 55     printf("打印出实心菱形:\n");
 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("\n");
 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("\n");
 71     }
 72     printf("\n");
 73 
 74 //打印空心菱形
 75     printf("打印出空心菱形:\n");
 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("\n");
 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("\n");
119     }
120 printf("\n");
121 
122 #endif
123 
124 #if 1
125     //打印出三角形
126 /*
127                     *
128                    * *
129                   *****
130 */
131     //打印出实心三角形
132 printf("打印出实心三角形:\n");
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("\n");
140 }
141 printf("\n");
142 
143      //打印出空心三角形
144 printf("打印出空心三角形:\n");
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("\n");
158 }
159 printf("\n");
160 
161 #endif
162 
163 #if 1
164     //打印出梯形
165 /*
166                    ***
167                   *   *
168                  *     *
169                 *********
170 */
171       //打印出实心梯形
172 printf("打印出实心梯形:\n");
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("\n");
180 }
181 printf("\n");
182       
183        //打印出空心梯形
184 printf("打印出空心梯形:\n");
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("\n");
202 }
203 printf("\n");
204 
205 #endif
206 
207 #if 1
208     //打印出六边形
209 /*
210                      *****
211                     *     *
212                    *       *
213                     *     *
214                      *****
215 */
216         //打印出实心六边形
217 printf("打印出实心六边形:\n");
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("\n");
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("\n");
233 }
234 printf("\n");
235 
236         //打印出空心六边形
237 printf("打印出空心六边形:\n");
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("\n");
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("\n");
265 }
266 printf("\n");
267 
268 #endif
269 
270 #if 1
271     //打印出倒三角形的99乘法表
272 printf("打印出倒三角形的99乘法表:\n");
273 for (int i = 1; i < 10; ++i)
274 {
275     for (int j = i; j < 10; ++j)
276         printf("%d*%d=%d\t", i, j, i*j);
277     printf("\n");
278 }
279 
280 #endif
281 
282     system("pause");
283     return 0;
284 }

 

 

 2018-06-19  13:11:20