要点

scanf()是无法读入一串有空格的字符串的。
所以,除了考虑整串读入,还可以采取一个个读入的方式,最后以换行符终止。
具体实现如下:

char s[MAXN], a;
int len = 0;
while (true) {
    s[len++] = getchar();//len = 0, then len + 1
    if (s[len - 1] == '\n') break;
}