例如,我想将每个单词打印在一个单独的行上,而不像句子一样,但不标点。但是,我不确定该怎么做。有没有人可以帮助我做到这一点?我已经坚持了一个多星期。试图一遍又一遍地阅读问题,但没有得到如何做。
想要我这样做的问题:1.在源文件顶部为ctype.h库添加一个附加的#include语句,该语句提供字符类测试功能。
修改while循环体,以便程序在单独的行上输出每个单词。你应该丢弃所有非字母的字符,因此不应出现数字和标点符号。
//Output should be this
An
operating
system
is
a
layer
of
sophisticated
software
that
manages
hardware
resources
and
provides
a
common
interface
for
user
programs
Popular
desktop
operating
systems
include
Windows
macOS
Linux
这是我到目前为止所做的代码:
//code
#include <stdio.h>
int main (int argc, const char *argv[])
{
int nextChar;
char read;
read = getchar();
putchar (read);
while (nextChar != EOF){
putchar(nextChar);
nextChar = getchar();
}
return 0;
}
我为这个长期存在的主要问题感到抱歉,但我不愿意这样做。
#include <stdio.h>
#include <ctype.h>
....
char str[] = "An operating system is ...";
char *ptr = str;
while (*ptr)
{
if (isspace((unsigned char)*ptr))
{
*ptr = '\n'; // replace blanks with newlines
}
ptr++;
}
puts(str);