#include<stdio.h>
int main()
{
char s = 'A';
for (int i = 0; i < 5; i++)
{
for (int j = 1; j < 5-i; j++)
printf(" ");
for (int j = 0; j < i; j++)
printf("%c",s+j);
for (int j = i; j >= 0; j--)
printf("%c",s+j);
printf("\n");
}
return 0;
}
#!/usr/bin/python
# -*- coding: UTF-8 -*-
arr = []
for i in range(65,91):
arr.append(chr(i))
for i in range(0,len(arr)):
str = ''
for j in range(0,i+1):
str = str + arr[j]
print str + str[0:len(str)-1][::-1]
时间仓促,用python实现的,其实原理是一样的,就是把A-Z这26个字母放到一个数组中,然后做两层循环,外循环i从0-26,内循环j初始化为0,然后j < i+1,在内循环拼接每层的字母顺序,然后在外循环内先顺序打印,然后再逆序即可,注意:需要先将最后一个字母删掉再逆序
5次循环,第一次打印A,第二次打印 AB在打印A 就相当于遍历循序下标打印左边一半,存储到一个数组里,再遍历数组打印右边一半