今日的学习笔记:
  1. 一开始我是用数组来试试,最后改为输入单个字符而非字符串,更符合菱形图案的生成需求
  2. 使用 %c 格式符来打印字符
  3. 直接通过 'A' + 偏移量的方式生成字母,简化了逻辑
#include<stdio.h>
int main()
{
    char str;
    int i,j,k,n;
    scanf("%c",&str);
    n=str-'A'+1;//我一开始用的数组不能这样算,所以换成单个字符串更方便
//每一层
    for (i=1;i<=n;i++) {
//找到规律,打印空格
        for (j=1;j<=n-i;j++) {
            printf(" ");
        }
//打印字母,正向
        for (k=0;k<i;k++) {
            printf("%c",'A'+k);
        }
//反向
        for (k=i-2;k>=0;k--) {
            printf("%c",'A'+k);
        }
//打完一层,记得换行
        printf("\n");
    }
    return 0;
}