...其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文_百度知...
发布网友
发布时间:2024-10-23 18:30
我来回答
共5个回答
热心网友
时间:2024-11-06 18:00
我这个使用Java写的。
Scanner in = new Scanner(System.in);
String a = in.nextLine();
int A=0,B=0;
for(;A<a.length();A++)
{
if(a.charAt(A)==' '||a.charAt(A)=='.')
{
System.out.print(A-B);
B=A+1;
}
}
经过测试了,没问题。
如果你看不懂了可以说,因为手打解释特麻烦,所以你那里有疑问我就给你讲哪里,还有就是楼上那个提供思想的很厉害,我一开始想的不是这个,还是楼上那个提供了想法。
热心网友
时间:2024-11-06 17:57
给你提供一个思想
1.不断的读入字符直到遇到.就结束
2.需要2个标记 A和B 默认为0 读入一个字符的时候 若不是空格 A= A+1 若是空格 就A-B得出长度输出 然后 B=A
热心网友
时间:2024-11-06 17:55
#include <stdio.h>
#include <string.h>
int main()
{
char m[9999];
int i,he,n=0,chu;
int len=0;
for(i=0;i<9999;i++){
scanf("%c",&m[i]);
if(m[i]==''){
he=strlen(m);
chu=he-n-1;
printf("%d ",chu);
n=strlen(m);
continue;
}
if(m[i]=='.'){
he=strlen(m);
chu=he-n-1;
printf("%d",chu);
break;
}
}
return 0;
}
热心网友
时间:2024-11-06 18:01
可以用正则表达式,通过空格把输入的字符串分隔开为单个的单词,然后去输出每个单词的位数。
热心网友
时间:2024-11-06 18:01
int main()
{
int i;
char c;
scanf("%c",&c);
while(c!='.')
{
while(c==' ') scanf("%c",&c);
i=0;
while(c!=' '&&c!='.') {i++;scanf("%c",&c);}
printf("%d ",i);
}
printf("%d",i);
return 0;
}