打印一个上半部分为等腰三角形,下半部分为倒等腰三角形星号图案:思想为创建一层大的循环表示行数,然后里面一层循环表示空格的数目,一层表示星号的数目,假设有n行,i表示第i行,空格数为(n-i),星号数为(2*i-1);下半部分从第n行开始,逐渐减少,其他同上半部分。如有写的不对,望指教。代码如下:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){int i, j;int n;printf("输入想要打印的上半部分的行数:\n");//上半部分和下半部分是对应的scanf("%d", &n);for (i = 1; i <= n; i++){for (j = 1; j <= n - i; j++){putchar(' ');}for (j=1; j <= 2 * i - 1; j++){putchar('*');}putchar('\n');}for (i = n; i >= 1; i--){for (j= 1; j <= n - i; j++){putchar(' ');}for (j = 1; j <= 2 * i - 1; j++){putchar('*');}putchar('\n');}system("pause");return 0;}
图为: