| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 734 人关注过本帖
标题:挑一下错误 这是一个统计不同单词个数的程序
只看楼主 加入收藏
fejide
Rank: 1
来 自:大学
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-11-24
收藏
 问题点数:0 回复次数:2 
挑一下错误 这是一个统计不同单词个数的程序
大家帮着看一下 这个程序的错误   这是一个统计不同单词个数的程序


#include<iostream>   
#include<string>
using namespace std;
void   main()     
{     
 string b[100];
 int i=0;
 int n=0;
 int m=1;
 cout<<"输入一段字符串"<<endl;
 for(i=0;i<100;i++)
 {
  cin>>b[i];
  if(b[i]=="#"){
            
   break;
   
   
  }
 
 }
 cout<<"i的值"<<i<<"一共有"<<i+1<<"个单词"<<endl;

for(n=0;n<i;n++)
{
if(b[n]=="*")
  break ;

for(m=1;m<i;m++)
{   int r;
     r=b[n].compare(b[m]);
   // r=strcmp(b[n],b[m]);
    if(r==0)
 {
 b[m]="*";
 }

}

}
int q=0;
for(n=0;n<i;n++)
{   
 if(b[n]!="*")
 {
        q++;
 }
}
cout<<"不相同的单词个数是"<<q<<endl;
}
搜索更多相关主题的帖子: 单词个数 int string 
2007-11-25 14:26
hegj
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-9-5
收藏
得分:0 
#include<iostream>   
#include<string>
using namespace std;
void   main()     
{     
string b[100];
int i=0;
int n=0;
int m=1;
cout<<"输入一段字符串"<<endl;
for(i=0;i<100;i++)
{
  cin>>b[i];
  if(b[i]=="#"){
            
   break;
   
   
  }

}
cout<<"i的值"<<i<<"一共有"<<i+1<<"个单词"<<endl;      //单词个数为 i


for(n=0;n<i;n++)
{
     //          if(b[n]=="*")      
      //           break ;                       //位置不对    放在下面的循环里。

for(m=1;m<i;m++)                         //m从n+1开始
{   int r;
     r=b[n].compare(b[m]);
   // r=strcmp(b[n],b[m]);
    if(r==0)
{
b[m]="*";
}

}

}
int q=0;
for(n=0;n<i;n++)
{   
if(b[n]!="*")
{
        q++;
}
}
cout<<"不相同的单词个数是"<<q<<endl;
}

2007-11-25 22:38
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
程序代码:
#include <iostream>
using namespace std;

struct TrieTree{
    TrieTree* next[26];
    int flag;
    TrieTree(){
        flag=0;
        memset(next,0,sizeof(next));
    }
    int InsertWord(char word[]){
        TrieTree* p=this;
        for(int i=0;word[i];i++){
            int cur=toupper(word[i])-'A';
            if(p->next[cur]==NULL){
                p->next[cur]=new TrieTree;
            }
            p=p->next[cur];
        }
        p->flag++;
        if(p->flag==1)return 1;
        else return 0;
    }
}trie;

char buf[1000];

int main()
{
    int cnt=0;
    while(scanf("%s",buf),strcmp(buf,"#")){
        cnt+=trie.InsertWord(buf);
    }
    printf("%d\n",cnt);
}
2007-11-27 16:29
快速回复:挑一下错误 这是一个统计不同单词个数的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040855 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved