今日的学习笔记:
- 一开始我是用数组来试试,最后改为输入单个字符而非字符串,更符合菱形图案的生成需求
- 使用 %c 格式符来打印字符
- 直接通过 '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; }