Github地址:φ(>ω<*) 这里这里。
#include<stdio.h>
int main(void)
{
int i = 0; // Create for loop.
int j = 0; // Same with last one.
int l = 0; // Same with last one.
int m = 0; // Save value.
char n = '\n';
char a = 'A';
char get = 0;
printf("Please input capital letter:");
scanf("%c", &get);
putchar(n);
m = get - a;
for(i = 0; i < m; i++)
{
for(j = m; j > i; j--)
{
putchar(n);
}
for( l = 0, a = 'A'; l <= i; l++)
{
printf("%c", a++);
}
for (l = 0; l < i; a--)
{
printf("%c", a);
}
}
return 0;
}
#include<stdio.h>
int main(void)
{
int i = 0; // Create for loop.
int j = 0; // Same with last one.
int l = 0; // Same with last one.
int m = 0; // Save value.
char n = '\n';
char a = 'A';
char get = 0;
printf("Please input capital letter:");
scanf("%c", &get);
putchar(n);
m = get - a;
for(i = 0; i < m; i++)
{
for(j = m; j > i; j--)
{
putchar(n);
}
for( l = 0, a = 'A'; l <= i; l++)
{
printf("%c", a++);
}
for (l = 0; l < i; a--)
{
printf("%c", a);
}
}
return 0;
}
/*
伪代码:
首先创建三个变量控制三个循环。
创建一个int变量保存行数。
创建一个Char变量来保存目标A。
在scanf用户输入字母,大写。
首先是一个大循环,结束点为一行升降序处理完毕。
initialize 先初始化i;
test 即为行数控制,将用户输入减去目标A即可得到金字塔行数;
update 部分则更新i,增加行数。
内部小循环1
initialize 初始化j等于行数m。
test 本循环输出空格,将j与当前输出行数相比,即可控制空格数量。
update 更新j自减。
内部小循环2
initialize 初始化 l, a = ‘A’
test 将l与i比较,行数即为控制输出 A 往后的字母数量。
update 更新l , 输出 A 之后的字母,。
内部小循环3
initialize 初始化l
test 跟循环2一样,将l与行数(i)比较,差则为倒序输出字母次数,也是A的自减次数。
update A 自减 , 将A和A往后的已输出字母,倒序输出。
*/