1.解法一(基础版)
int main(){ char ch; scanf("%c",&ch); printf(" %c \n",ch); printf(" %c%c%c \n",ch,ch,ch); printf("%c%c%c%c%c\n",ch,ch,ch,ch,ch); printf(" %c%c%c \n",ch,ch,ch); printf(" %c \n",ch); return 0; }
2.解法二(通用版)
#include<stdio.h> int main() { int i = 0; int j = 0; char c = 0; scanf("%c", &c); int n = 3;//第一行到对角线行的行数 for(i = 1; i <= n; i++) { //打印每行对应空格 for(j = 0; j < n - i; j++) { printf(" "); } //打印每行对应字符 for(j = 0; j < 2 * i - 1; j++) { printf("%c",c); } printf("\n"); } //打印对角线行以下行 for(i = 1; i < n; i++) { //打印每行对应空格 for(j = 0; j < i; j++) { printf(" "); } //打印每行对应字符 for(j = 0; j < 2 * (n - i) - 1; j++) { printf("%c",c); } printf("\n"); } return 0; }