【題目】輸入一段文章(255個字元以內),求文章中單詞的個數,相同單詞只記一次,the 和 the 視作相同。
【敲**】
//網友**
vararticle,w:
string
; arr:array[
1..255] of string
; i,len,ans:longint;
function check(w:
string
):boolean;
vari:longint;
begin
if len=0 then exit(true
);for i:=1 to len do
if arr[i]=w then exit(false
); exit(
true
);end;
begin
readln(article);
article:=upcase(article);//
將所有字元轉換為大寫,解決 the=the 問題
while(article[1]<'
a')or(article[1]>'
z')do
delete(article,
1,1);
while length(article)>0do
begin
i:=1
;while(article[i]>='
a')and(article[i]<='
z')do
inc(i);
w:=copy(article,1,i-1
);delete(article,
1,i);
ifcheck(w) then
begin
inc(len);
arr[len]:=w;
inc(ans);
end;
while(article[1]<'
a')or(article[1]>'
z')do
delete(article,
1,1);
end;
writeln(ans);
end.
下面是我對這道題的解決辦法,只提供一些步驟:
//空格分隔單詞,每乙個單詞分別讀入 string 陣列中
i:=1
;j:=1
;read(a[
1]);//
讀入第乙個字元
while a[i]<>'.'
do;//
a陣列為char型
begin
inc(i);
read(a[i]);
end;
t:=i;//
a陣列中內容個數
for i:=1 to t do
if(a[i]<>'
')and(a[i]<>'
.') then sen[j]:=sen[j]+a[i]
else inc[j];//
空格分隔處理
j:=j-1;//
在最後乙個'.'後j會+1,但並沒有存放資料,所以這裡要減去1
//去重複n:=j;//
下面要用j做迴圈,所以把j儲存在n中
count:=j;//
count是最後要輸出的結果
for i:=1 to n-1do
for j:=i+1 to n do
if(a[i]=a[j])and(i<>j) then dec(count);//
去除重複
Pascal陣列,字串
已經兩天沒和大家見面了,今天我們來學習pascal語言和演算法三大風水寶地之一的陣列 三大風水寶地有 1.迴圈 2.陣列,字串 3.遞迴 我們來看看一維陣列的原理 陣列的定義是 a 隨意改 array 1.10000 隨意改 of longint 隨意改 一維陣列就是把數存入a 1 a 2 a 3 ...
c語言中字串與字串陣列詳解
目錄 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n nam...
c語言中的字元陣列與字串
一 字元陣列的定義 一維字元陣列 用於儲存和處理1個字串,其定義格式與一維數值陣列一樣。char str 20 二維字元陣列 用於同時儲存和處理多個字串,其定義格式與二維數值陣列一樣。char country 10 20 country 第i個字串 二 字元陣列的初始化 字元陣列的初始化.1.可以通...