...其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文_百度知...

发布网友 发布时间: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;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com