首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串中每个单词的第一个字母大写,并进行单词计数

将字符串中每个单词的第一个字母大写,并进行单词计数
EN

Stack Overflow用户
提问于 2013-11-15 09:10:20
回答 2查看 725关注 0票数 1

初学者在这里学习C。我需要输入一段文字,然后写两个函数。

第一个函数将文本的每个第一个字母大写。(这是一个示例)

第二个函数需要计算段落中的所有单词。

我要做的第一步是输入段落,我只需添加前两句话。如何将此段落格式化为此字符串,而不将其全部写在一行中?任何帮助都是非常感谢的。谢谢

代码语言:javascript
复制
int main (void)
{

char prose[] = "She should have died hereafter;
                There would have been a time for such a word.";

printf("%s\n",prose);




return 0;
}

这是我尝试使用的while循环,用来检测非字母符号在哪里。

代码语言:javascript
复制
while (prose[i])
{
    if (isalpha(prose[i]))
        printf("%c is alpha\n",prose[i]);
             else

                 printf("%c is not alpha\n",prose[i]);
                i++;

        }

对于从这里搬到哪里有什么帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-15 09:16:30

C中相邻的字符串字面量连接成一个字符串,因此您可以很容易地将其拆分成多行,如下所示:

代码语言:javascript
复制
char prose[] = "She should have died hereafter;\n"
               "There would have been a time for such a word.";

(最终,您可能希望从文件或stdin中读取散文,而不是将其硬编码到程序中。)

要将字母大写,请一次迭代字符串中的一个字符,如果前一个字符不是字母表字母(或任何您的标准),则将每个字母表字母大写。有关有用的功能,请参阅ctype.h

为了计算单词,您可以做一些类似的事情,但不是修改字符串,而是在每次输入新单词时递增一个计数器。

在这两种情况下,检查您的代码是否正确地处理了第一个和最后一个单词。

票数 2
EN

Stack Overflow用户

发布于 2013-11-15 09:19:05

我猜你想要这个:

代码语言:javascript
复制
    char prose[] = "\
She should have died hereafter.\n\
There would have been a time for such a word.\n\
";
    printf("%s\n",prose);

\n表示字符串中的实际新行,行尾的\允许语句继续到下一行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19991688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档