C语言程序要读入一行文本,以空格分隔若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。 30
题目内容:你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一...
题目内容:
你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。
输入格式:
输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例:
It's great to see you here.
输出样例:
4 5 2 3 3 4 展开
你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。
输入格式:
输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例:
It's great to see you here.
输出样例:
4 5 2 3 3 4 展开
3个回答
展开全部
#include <stdio.h>
#include <string.h>
void main()
{
char str[256] = "";
char tmp[sizeof(str)] = "";
char *p ;
gets(str);
strncpy(tmp, str,strlen(str) - 1);//去掉后面的.
p = strtok(tmp, " ");
printf("%d ", strlen(p));
while((p = strtok(NULL, " ")))
printf("%d ", strlen(p));
printf("\n");
}
更多追问追答
追问
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,"行末没有最后的空格"。
这个行末没有空格如何实现?
追答
不符合你的要求???
这个行末没有空格啊
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好久不编程,忘了,思路应该就是每次读一个字符看是不是空格,不是空格就设个计数器累计
这里计数器可以弄个数组,然后输出就行了,没难度呀
这里计数器可以弄个数组,然后输出就行了,没难度呀
追问
如何在开始定义的时候不指定str的长度?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询