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

京公网安备 11010502036488号