/*实现函数printstar(),接受参数n,打印对应高度的实心菱形 主函数main()中调用函数printstar(), 输出高度为n的实心菱形。 */

#include<stdio.h> #include<conio.h> void printnchar(int n, char c)//输出n次字符c { int j; for (j = 0; j < n; j++) { printf("%c", c); } } void printstar(int n)//输出高度为n的菱形 { int h, i, j; h = (n + 1) / 2;//一半的高度 for (i = 0; i < h; i++) { printnchar(h - 1 - i, ' ');//输出若干个空格 printnchar(2 * i + 1, '*');//再输出若干个星花 printf("\n");//换行

}
for (i = h - 1; i >= 0; i--)
{
	if (n % 2 == 1 && i == h - 1)
		continue;
	printnchar(h - 1 - i, ' ');
	printnchar(2 * i + 1, '*');
	printf("\n");
}

} int main() { printstar(5); _getch(); return 0; }