写一个题要会一类题。模子出来了,给任意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; }