「有一個程序請求用戶輸入一個大寫字母使用嵌套循環,以產生這樣的金字塔圖案:。如何進行此練習? (C)
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--;
}
}
然而,我感覺好像我碰到了一堵磚牆,試圖讓它正確地向後迭代。我知道應該只是一些基本的循環,但我很好,真的卡住了。我相信這很容易......我想我只是看了太久。想法?
首先,如果你要使用文字值的字符,使用字符常量。 「A」比「65」更清晰。但是這並不能幫助你完成算法。 – JAB 2011-06-10 14:54:31
「ABCDCDA」模式波動的原因是什麼? – 2011-06-10 14:54:42
我認爲'ABCDCDA'應該是'ABCDCBA' – Downvoter 2011-06-10 14:55:28