解题思路:把整个图形看作一个平行四边形,由一个正三角形和一个倒三角形组成,一行一行打印,结束换行
注意事项:n为行高,m为两个三角形之间的距离,图形最前面的空格等于两个三角形之间的距离m
参考代码:
#includeint main() { int n, m, k = 1, j, a; scanf("%d%d", &n, &m); a=n*2-1; //倒三角第一行*号个数等于总个数(h*2)减倒三角第一行*号个数 int b = n - 1; for (int i = 0; i < n; i++) { //图形行高 for (j = 0; j < m+b; j++) //图形前面的空格数 printf(" "); for (j = 0; j < k; j++) //正三角形 printf("*"); for (j = 0; j < m; j++) printf(" "); for (j = 0; j < a; j++) //倒三角 printf("*"); printf("\n"); k += 2; a -= 2; //正三角每行递增2,倒三角每行递减2 b--; //三角形前面空格(形成阶梯格式) } return 0; }
0.0分
17 人评分
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2783 |
母牛的故事 (C语言代码)浏览:435 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1195 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:504 |
1012题解浏览:861 |
简单的a+b (C语言代码)浏览:572 |
罗列完美数 (C语言代码)浏览:491 |
简单的a+b (C语言代码)浏览:944 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:441 |
最好的,浏览:563 |