本題主要考慮字串的處理
思路: 1.輸入一行字串ch,建立輔助字串陣列c,將每次遇到的不同單詞儲存到c中;
2.從i=0開始遍歷ch,遇到小寫字母,迴圈直到非字母出現,給字串陣列中的某一位置的字串賦值;
賦值結束後還要跟字串陣列之前儲存的所有字串進行比較,全都不相同,則累計數count+1,否則,
不變化,且字串陣列當前位置x也不變化;
3. 遇到空格,迴圈,直到遇到非空格或者字串結尾;
4.然後再判斷是否到了字串結尾,若是,則要輸出此時的總單詞數。
還要考慮過程中處理的細節。
#include #include #include using namespace std;
#define max 10000
int main()
; char c[max][100]=;
long long count;
int i,tag,j,x,y;
while(gets(ch))
for(j=x-1;j>=0;j--)
if(strcmp(c[x],c[j])==0) break;
if(j==-1)
i--;
y=0;
}else if(ch[i]==' ')
{while(ch[i]==' '&&i
HDU 單詞數(流讀入)(getline)
lily的好朋友xiaoou333最近很空,他想了一件沒有什麼意義的事情,就是統計一篇文章裡不同單詞的總數。下面你的任務是幫助xiaoou333解決這個問題。input 有多組資料,每組一行,每組就是一篇小文章。每篇小文章都是由小寫字母和空格組成,沒有標點符號,遇到 時表示輸入結束。output 每...
hdu 2072 統計單詞數 set
傳送門 思路 每輸入一行單詞,檢驗有多少個不同的單詞 關鍵在於兩點 單詞不要重複 注意好空格 自己用作為集合,已經去掉了第一點 再用sstream 參見個人部落格之前的說明 去掉空格,進行計數。如下 include include include include set版本 includeusing...
HDU 2082 找單詞 母函式
題目 題意 已知有26種數字 1,2,3,4.26 然後輸入26個數 m1,m2,m3,m26 分別代表每個數字的個數,求出總值不超過50的方案數。分析 由於每種數字各選多少個互不影響。對於數字1,有m1個,用多項式 1 x x 2 x 3 x m1 表示選數字1的總方案,1 x 0 表示不選,x ...