gpt4 book ai didi

c - 如何进行这个练习? (C)

转载 作者:行者123 更新时间:2023-12-02 02:25:05 25 4
gpt4 key购买 nike

“让一个程序请求用户输入一个大写字母。使用嵌套循环来生成如下所示的金字塔模式:

    A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

模式应该扩展到输入的字符。例如,前面的模式将由输入值 E 产生。”

到目前为止,我已经做了好几个小时了,并且在通过字母表向前迭代时,我正在让“金字塔”为字母正确格式化:

#include <stdio.h>
int main(void)
{
char ch = 0;
char ch2 = 0;
int rows = 0;
printf("Enter a character: ");
scanf("%c", &ch);
rows = ch - 64;
while(rows > 0)
{
int spaces;
for(spaces = rows-1; spaces > 0; spaces--)
{
printf(" ");
}
ch2 = 65;
while(ch2 < (ch-(rows-2)))
{
printf("%c", ch2);
ch2++;
}

printf("\n");
rows--;
}
}

但是,我觉得我在试图让它正确地向后迭代时遇到了障碍。我知道它应该只是一些基本的循环,但我确实被困住了。我敢肯定这很容易...我想我只是看它太久了。想法?

最佳答案

你那么近,只要吸一口气,你就会看到。

当你打印出你的角色时,它必须在这部分之后完成

    while(ch2 < (ch-(rows-2)))
{
printf("%c", ch2);
ch2++;
}

否则它不会落在字符串的末尾。您需要的是另一个循环,该循环从打印的最后一个字符下方的字符开始。它应该打印一个字符并递减该字符,直到打印出“A”字符。

由于这是家庭作业,在告诉您具体细节之前,我会给您机会编写该循环。

关于c - 如何进行这个练习? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6308032/

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