将一个字符长串分出单词(林大oj1002)

description

<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">有一个用空格( )、逗号(,)或是句号(.)分隔的许多英文单词组成的字符串(分隔的空格可以是多个)。请编写程序将这些单词分开并输出。

要求,在main函数中完成数据的输入。在子函数中完成拆分单词及统计个数。
提示:可以将待拆分的字符串作为参数进行拆分。拆出的单词可以用指针数组分别指向,并可以在子函数中输出(这样就不必把用指向分出单词的指针数组作为参数了)。子函数返回拆出的单词的个数,个数可以在main中输出。</span></span>

input

<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">put
  输入的数据可以有多组,首先第一行输入一个整数n,接下来是n行,每行是用空格、逗号、句号分隔的字符串,字符串的长度少于1000个字符,拆出的单词的个数少于300个。</span></span>

output

<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">对于每组数据,首先 输出每行字符串分出的单词(分出的各个单词用空格分隔)。接下来输出分出的单词的个数。</span></span>

sample_input

<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">2
good a day
i am a
3
good morning. how are you, this is a desk
yellow blue red grey
hong se
1
   good you. ke   kkk   kkkkk            diek</span></span>

sample_output

<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">good a day
3
i am a
3
good morning how are you this is a desk
9
yellow blue red grey
4
hong se
2
good you ke kkk kkkkk diek
6
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">#include &lt;iostream&gt;
#include &lt;string.h&gt;
#include &lt;stdio.h&gt;
using namespace std;


int main()
{
&nbsp; &nbsp; char ch[1005];
&nbsp; &nbsp; int len,n,i,j,k,ans;
&nbsp; &nbsp; while(cin&gt;&gt;n)
&nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; getchar();
&nbsp; &nbsp; &nbsp; &nbsp; for(j=1;j&lt;=n;j++)
&nbsp; &nbsp; &nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; k=0;ans=0;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gets(ch);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; len=strlen(ch);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(i=0;i&lt;len;i++)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(ch[i]==' '||ch[i]==','||ch[i]=='.')
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ch[i]=' ';
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(ch[0]!=' ')
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {for(i=0;i&lt;len;i++)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(ch[i]==ch[i-1]&amp;&amp;ch[i]==' ')
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; k++;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {cout&lt;&lt;ch[i];
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(ch[i]==' ')
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ans++;}




&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(i=1;i&lt;len;i++)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(ch[i]==ch[i-1]&amp;&amp;ch[i]==' ')
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; k++;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {cout&lt;&lt;ch[i];
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(ch[i]==' ')
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ans++;}




&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cout&lt;&lt;endl;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ans=ans+1;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cout&lt;&lt;ans&lt;&lt;endl;
&nbsp; &nbsp; &nbsp; &nbsp; }


&nbsp; &nbsp; }
&nbsp; &nbsp; return 0;
}
</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">写了好久啊 &nbsp;写的有一些乱啊 &nbsp;真是 &nbsp;终于写对了 &nbsp; 哇哦!!!</span></span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值