[HDU2072]單詞數<字符串>

 連接:http://acm.hdu.edu.cn/showproblem.php?pid=2072php

Problem Description
lily的好朋友xiaoou333最近很空,他想了一件沒有什麼意義的事情,就是統計一篇文章裏不一樣單詞的總數。下面你的任務是幫助xiaoou333解決這個問題。
Input
有多組數據,每組一行,每組就是一篇小文章。每篇小文章都是由小寫字母和空格組成,沒有標點符號,遇到#時表示輸入結束。
Output
每組只輸出一個整數,其單獨成行,該整數表明一篇文章裏不一樣單詞的總數。
 
Sample Input
 
you are my friend
#
 
Sample Output
 
4
思路:
一道很簡單的字符串裸題,字符串的簡單應用
數據範圍挺小,因此直接暴力模擬就能夠了
會用到函數
strcmp 比較兩個字符串 相同返回0
strcpy 拷貝字符串
 
#include<bits/stdc++.h>
#define ll long long
#define inf 0x3fffffff
using namespace std;

int read(){
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}

void fre(){
     freopen("     .in","r",stdin);
     freopen("     .out","w",stdout);
}

string pas;
char all[1005][105],now[105];
int len,num;

int main(){
    while(1){
        getline(cin,pas);
        if(pas[0]=='#')return 0;
        len=pas.size();
        pas+=' ';
        int poi=0,tot=0,can=0;
        for(int i=0;i<=len;i++){
            if(pas[i]!=' '){
                int l=0;
                poi=i;now[l++]=pas[poi];
                for(i=i+1;i<=len;i++){
                    if(pas[i]==' ')break;
                    now[l++]=pas[i];
                }
                now[l]='\0';
                for(int j=1;j<=tot;j++)
                    if(strcmp(all[j],now)==0){
                        can=1;break;
                    }
                if(can==0){
                    strcpy(all[++tot],now);
                }can=0;
            }
        /*    if(pas[i]==' '){
                int l=0;
                for(int j=poi;j<i;j++){
                    now[l++]=pas[j];
                }poi=i+1;
                now[l]='\0';
                for(int j=1;j<=tot;j++)
                    if(strcmp(all[j],now)==0){
                        can=1;break;
                    }
                if(can==0){
                    strcpy(all[++tot],now);
                }can=0;
            }*/
        }
            

        cout<<tot<<endl;
    }
    return 0;
}
View Code

以前一直wac++

後來換了一種找單詞的方式就沒問題了ide

就是註釋部分出錯了函數

應該是註釋部分不能很好處理多空格狀況,會使tot變大spa

(下次必定改下次必定改)code

相關文章
相關標籤/搜索