2

我在 C 编程课上有一个作业,只使用函数getcharputchar. 我已经编写了大部分程序,但我不知道如何只为多个空格添加一个新行。例如,当有多个空格时,输出中有一个间隙,这是我不想要的。有谁知道如何纠正这个?

int main(int argc, const char * argv[])
{
    /* Variables declared */
    int iochar;

    /* While loop */
    while ((iochar = getchar() ) != EOF) {

        /* If statement to return on alphabetic characters, not puncuation */
        if (((iochar >= 'A') && (iochar <= 'Z')) || ((iochar >= 'a') && (iochar <= 'z'))) {
            putchar(iochar);
        }

        /* If statement to produce a new line when a space is detected */
        if (iochar == ' ') {
            putchar('\n');
        }
    }

    return 0;
}
4

1 回答 1

2

您可以将前一个字符存储在另一个变量中,并且仅在当前字符是空格且前一个字符不是空格时才输出换行符。

顺便说一句:输入中的数字应该发生什么?

于 2012-09-18T23:22:05.857 回答