⼀*题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文

2025-04-18 11:29:34
推荐回答(5个)
回答1:

我这个使用Java写的。

Scanner in = new Scanner(System.in);
  String a = in.nextLine();
  int A=0,B=0;
  for(;A  {
   if(a.charAt(A)==' '||a.charAt(A)=='.')
   {
    System.out.print(A-B);
    B=A+1;
   }
  }

经过测试了,没问题。

如果你看不懂了可以说,因为手打解释特麻烦,所以你那里有疑问我就给你讲哪里,还有就是楼上那个提供思想的很厉害,我一开始想的不是这个,还是楼上那个提供了想法。

回答2:

给你提供一个思想
1.不断的读入字符直到遇到.就结束
2.需要2个标记 A和B 默认为0 读入一个字符的时候 若不是空格 A= A+1 若是空格 就A-B得出长度输出 然后 B=A

回答3:

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;
}

回答4:

#include 
#include 
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;
}

回答5:

可以用正则表达式,通过空格把输入的字符串分隔开为单个的单词,然后去输出每个单词的位数。