打印出如下图案:
看到这个图形后,我们可以看出,主要是要把星号打印出来。由于这个图形从上到下,星号先递增,然后递减,因此我们可以把它拆成上,下两部分对待。
我们可以看出上半部分星号是在递加,而左侧的空格是在递减。如果我们把空格补齐,我们会发现第0行需要3个空格,一个星;第1行需要两个空格需要三个星;第2行需要一个空格,需要五个星;第3行需要零个空格,七个星。下面的也可以推出。我们可以很快推出一个表达式。即可将这个图形输出。代码如下:
#include <stdio.h>
void print2space(); void printstar(); int main(int argc, int *argv[]) { int i,j,k; for (i = 0; i < 4; i++) { for (j = 0; j < 3 -i; j++) { print2space(); } for (k = 0; k < i * 2 + 1; k++) { printstar(); } printf("\n"); } for (i = 3; i > 0 ;i--) { for (j = 0; j < 4 - i; j++) { print2space(); } for (k = 0; k < 2 * i - 1 ;k++) { printstar(); } printf("\n"); } system("pause"); return 0; }
void print2space() { putchar(' '); putchar(' '); }
void printstar() { putchar('*'); putchar(' '); }
|
阅读(3907) | 评论(0) | 转发(0) |