写一个题要会一类题。模子出来了,给任意n都可以用
#include <stdio.h>
int main()
{
char ch;
scanf("%c", &ch);
int i, j;
int n = 3; //设包括对角线在内的上半部分有n行
for(i = 1; i <= n; i++) //打印第1行到对角线(第n行)
{
for(j = 0; j < n-i; j++)
printf(" "); //先打印每行的空格,第i行有n-i个空格
for(j = 0; j < 2*i-1; j++)
printf("%c", ch); //再打印每行的字符,第i行有2*i-1个
printf("\n"); //打印完每行空格和字符,要换行
}
for(i = 1; i < n; i++) //对角线以下部分只有n-1行,从1到n-1
{
for(j = 0; j < i; j++)
printf(" "); //每行前面的空格依次增加1个,第i行有i个空格
for(j = 0; j < 2*(n-i)-1; j++)
printf("%c", ch); //每行的字符依次减少2个,第i行有2*(n-i)-1个
printf("\n");
}
return 0;
}

京公网安备 11010502036488号