今天看到书上有一节讲用 “ * ” 打印简单的图形,平行四面形,三角形之类,
有一习题,是如何打印棱形,
我动动脑,虽然能够解决问题,但是觉得太麻烦了,不知道哪位兄弟有简单的算法能解决这个问题,
先谢过了,过一阵,我把我自己想到的贴出来。 ~!~~~~~~
这是我写的:
void main() {int row,col,c; /*row控制行,col控制每行前的空隔,c控制*的个数 for(row=1;row<+9;row++) {if (row<+5) { for(col=1;col<5-row;col++) printf(" "); /*打印一个空隔 for(c=1;c<=2*row-1;c++) printf("\n"); /*打印一个‘*’ } else { for(col=1;col<=row-5;col++) printf(" "); for(c=1;c<=(4-(row-5))*2+1;c++) /*这一步很关键, 这个公式我也是搞了好久才搞出来的。*/ printf("*"); printf("\n"); } } }