C++ 打印字母塔
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #define MAX 26 void test(char* p) { int num = 0; //定义一个变量记录中间的值 for (int i = 0; i < MAX; i++) { for (int j = 0; j < MAX-i; j++) //循环打印空格 以中心26为中心,每行需要输出26-i个空格 { printf(" "); } for (int j = 0; j < (2 * i + 1); j++) //打印字母 { if (i == 0) //如果打印为塔尖则只打印一个A { printf("A"); } else { if (j < i + 1) //正序打印 { printf("%c", p[j]); num++; } else //倒序打印 { printf("%c", p[--num-1]); } } } if (i != MAX - 1) printf("\n"); num = 0; } } int main() { char a[26]; //定义一个存放26个字母的数组 for (int i = 0; i < 26; i++) { a[i] = 'A' + i; } test(&a); return 0; }