Pascal 語言中字元與字串

2022-03-10 05:47:55 字數 1813 閱讀 6801

【題目】輸入一段文章(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.可以通...