刚开始学C语言,遇到点困难,哪位大神帮一下,谢谢。

刚开始学C语言,遇到点困难,哪位大神帮一下,谢谢。

 

 

#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 就相当于遍历循序下标打印左边一半,存储到一个数组里,再遍历数组打印右边一半