gpt4 book ai didi

c - 如何制作abc金字塔

转载 作者:行者123 更新时间:2023-12-02 16:13:09 24 4
gpt4 key购买 nike

我写了一段代码,但我不知道如何从这里继续。我想从头到尾构建一个 abc 金字塔(例如,aba、abcba 等)

a
a b a
a b c b a
a b c d c b a

等..

这是我的代码,谢谢:)

void aba(int lines)
{
//int i = 97;
char a = 97;

for (int i = 97;i <= lines + 97;i++)
{
printf("%c",i);
for (int j = 97;j <= lines + 97;j++)
{
if (j == i)
break;

printf("%c%c", j,i);
}

printf("\n");
}

void main()
{
aba(3);
}

最佳答案

如果您在解决给定任务时遇到问题,请始终尝试将其拆分为更小的工作:

首先为金字塔的每一行打印一个 a:

void aba(int lines) {
for (int i = 0; i < lines; i++) {
printf("%c\n", a);
}
}

现在您想要一个金字塔,第一行有一个字符,第二行有 3 个字符,第三行有 5 个字符,依此类推。您可以使用 (i * 2) + 1 生成此序列:

void aba(int lines) {
for (int i = 0; i < lines; i++) {
for (int j = 0; j < (i * 2) + 1 ; j++) {
printf("%c", a);
}
printf("\n");
}
}

最后一步是增加行前半部分的字符并减少后半部分的字符:

void aba(int lines) {
for (int i = 0; i < lines; i++) {
char a = 'a';
for (int j = 0; j < (i * 2) + 1 ; j++) {
printf("%c", a);
if (j <= i - 1)
a += 1;
else
a -= 1;
}
printf("\n");
}
}

关于c - 如何制作abc金字塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67499871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com