Triangle
题目描述
给定一个字母,请输出其对应的字母三角形(最后一行行首,每行末无空格)。 比如输入E,输出
A ABA ABCBA ABCDCBA ABCDEDCBA A A ABA ABA ABCBA ABCBA ABCDCBA ABCDCBA ABCDEDCBA ABCDEDCBA输入
存在多个样例,每行输入一个大写字母。
输出
依次输出每个字符对应的字符三角形。
样例输入
A B C样例输出
A A A A ABA A A ABA ABA A ABA ABCBA A A ABA ABA ABCBA ABCBA
好纯粹的打表题啊,没什么技巧,直接把我以前的代码贴上来吧,别直接抄啊!
#include <stdio.h>
int main()
{
char x;
while (scanf("%c",&x) != EOF)
{
const int t = x-'A'+1;
int b1 = 2*t-1;
int b2 = 2*t-1;
for (int i = 1; i <= t; i ++)
{
for (int b = 1; b <= b1; b++) printf(" ");
b1--;
int p = 2*i-1;
for (int j = 1; j <= p; j ++)
{
if ( j <= i) printf("%c",'A'+j-1);
else printf("%c",'A'+p-j);
}
puts("");
}
for (int i = 1; i <= t; i ++)
{
for (int b = 1; b <= b1; b++) printf(" ");
b1--;
int p = 2*i-1;
for (int j = 1; j <= p; j ++)
{
if ( j <= i) printf("%c",'A'+j-1);
else printf("%c",'A'+p-j);
}
for (int l = b2; l >= 1; l --) printf(" ");
b2 -= 2;
for (int j = 1; j <= p; j ++)
{
if ( j <= i) printf("%c",'A'+j-1);
else printf("%c",'A'+p-j);
}
puts("");
}
}
return 0;
}
文章介绍了如何使用C语言编写一个程序,实现给定大写字母输入时输出对应字母的三角形排列。程序通过嵌套循环和条件判断构造了每一行的字符序列。
1872

被折叠的 条评论
为什么被折叠?



