初学者在这里学习C。我需要输入一段文字,然后写两个函数。
第一个函数将文本的每个第一个字母大写。(这是一个示例)
第二个函数需要计算段落中的所有单词。
我要做的第一步是输入段落,我只需添加前两句话。如何将此段落格式化为此字符串,而不将其全部写在一行中?任何帮助都是非常感谢的。谢谢
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循环,用来检测非字母符号在哪里。
while (prose[i])
{
if (isalpha(prose[i]))
printf("%c is alpha\n",prose[i]);
else
printf("%c is not alpha\n",prose[i]);
i++;
}对于从这里搬到哪里有什么帮助吗?
发布于 2013-11-15 09:16:30
C中相邻的字符串字面量连接成一个字符串,因此您可以很容易地将其拆分成多行,如下所示:
char prose[] = "She should have died hereafter;\n"
"There would have been a time for such a word.";(最终,您可能希望从文件或stdin中读取散文,而不是将其硬编码到程序中。)
要将字母大写,请一次迭代字符串中的一个字符,如果前一个字符不是字母表字母(或任何您的标准),则将每个字母表字母大写。有关有用的功能,请参阅ctype.h。
为了计算单词,您可以做一些类似的事情,但不是修改字符串,而是在每次输入新单词时递增一个计数器。
在这两种情况下,检查您的代码是否正确地处理了第一个和最后一个单词。
发布于 2013-11-15 09:19:05
我猜你想要这个:
char prose[] = "\
She should have died hereafter.\n\
There would have been a time for such a word.\n\
";
printf("%s\n",prose);\n表示字符串中的实际新行,行尾的\允许语句继续到下一行。
https://stackoverflow.com/questions/19991688
复制相似问题