C Primer加上第6章练习3

MNY*_*MNY 1 c

他们要求做什么打印:

F
FE
FED
FEDC
FEDCB
FEDCBA
Run Code Online (Sandbox Code Playgroud)

我能够打印:

F
FF
FFF
FFFF
FFFFF
Run Code Online (Sandbox Code Playgroud)

使用此代码:

int main()
{
    int count, count2;

    char letterToPrint = 'F';

    for (count = 0; count < 5; count++)
    {
        for (count2 = 0; count2 <= count; count2++)
        {
            printf("%c", letterToPrint);
        }
        printf("\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在第二个for循环中添加一些内容来打印前一个字母,然后减少它,还是需要另一个循环?

Som*_*ude 5

请记住,C中的字符(例如字符文字'F'char类型)都是正常的整数值,因此您可以使用它们执行常规算术,例如循环'F''A'.

像这样:

for (int i = 'F'; i >= 'A'; i--)
{
    for (int c = 'F'; c >= i; c--)
        printf("%c", c);
    printf("\n");
}
Run Code Online (Sandbox Code Playgroud)