C++学习(十三)(C语言部分)之 练习
程序员文章站
2022-01-01 12:25:44
打印图像 要用循环 空心或者实心都可以1、矩形 菱形 三角形 梯形 六边形2、打印倒三角形的99乘法表 具体测试代码如下: 2018-06-19 13:11:20 ......
打印图像 要用循环 空心或者实心都可以
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("打印出实心矩形:\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