1221:单词统计问题

来源:互联网 发布:软件架构师书籍 编辑:程序博客网 时间:2024/06/06 06:34

1221:单词统计问题


Description

巨硬公司(huge-hard)最近计划出品一个字处理软件。软件基本功能已经完成,但还缺少一个单词统计的功能,你的任务就是为该公司写一段程序,完成统计功能。

需要统计的信息有两项:出现单词的个数和单个单词出现的次数。

Input

输入为一行字符串,即要统计的文本。

Output

输出由若干行组成,第一行是一个整数,表示单词的个数,从第二行开始,每行由字符串、冒号、整数组成,其中字符串是一个出现在文本中的单词,整数则是该单词在文本中出现的次数。

Sample Input

to know everything is to know nothing

Sample Output

7
everything:1
is:1
know:2
nothing:1
to:2


#include<iostream>#include<stdio.h>#include<string.h>using namespace std;int main(){    char a[1000];    int b[1000];    string str[5000];    int n,i,j,k,h;    gets(a);    n=strlen(a);    int count=0;    for(i=0; i<n; i++)    {        if(a[i]=='\40')            count++;    }    cout<<count+1<<endl;    j=0;    int temp=0,abc;    for(i=0; i<n; i++)    {        abc=i;        if(a[i]=='\40')        {            for(k=temp; k<abc; k++)               {                str[j]=str[j]+a[k];               }            temp=i+1;            j++;            if(j==count)            {                for(h=i+1; h<n; h++)                    str[j]=str[j]+a[h];            }        }    }  int index;  for(i=0;i<count;i++)  {      index=i;      for(j=i+1;j<count+1;j++)      {          if(str[index]>str[j])            index=j;      }          if(index!=i)          {              str[100]=str[i];str[i]=str[index];str[index]=str[100];          }   }   int c[100];    for(i=0; i<=count; i++)    {        if(str[i]==a)       continue;       c[i]=1;       for(j=i+1;j<count+1;j++)        {    if(str[i]==str[j])   {       str[j]=a;  c[i]++;   }    }    }for(i=0;i<count+1;i++){    if(str[i]!=a)    {        cout<<str[i]<<":"<<c[i]<<endl;    }}     return 0;}   



原创粉丝点击