版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、字符與字符串一、字符型字符型用char作為標(biāo)識(shí)符。字符型必須用單引號(hào)括起來(lái), 字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單引號(hào)中有一個(gè)字符,否則就是字符串。Vara:char;a:=b;a:=B;a:=2;知識(shí)點(diǎn):1、字符的ASCII碼(序號(hào)):一一對(duì)應(yīng)關(guān)系字符abczASCII979899122字符ABCZASCII65666790字符0123456789ASCII48495051525354555657、函數(shù):ord(x)chr(x))、ord(x):返回字符x的ASCII碼。i:=ord(A);j:=ord(B);n:=ord(1);write(I,j,n);656649)、
2、chr(x):返回ASCII碼為x的字符。vara:char;a:=chr(98); writeln(a);write(chr(97);3、字符大小的比較(相應(yīng)字符ASCII碼大小的比較):aA4、數(shù)字字符轉(zhuǎn)換為相應(yīng)的數(shù)字的方法。varx:char;a:integer; x:=3;a:=ord(x)-48;練習(xí)題目:從鍵盤上輸入一串字符(可能含數(shù)字、小寫字母),以#作為輸入結(jié)束標(biāo)志。編程完成:統(tǒng)計(jì)輸入字符中每個(gè)小寫字母出現(xiàn)的次數(shù)(沒(méi)有出現(xiàn)的不輸出)。樣例: 輸入:2bcdaab33wycc#輸出:a 2b 2c 3d 1w 1y 1算法一:var ch:char; n,i:integer;a:
3、array1.26 of integer; 統(tǒng)計(jì)字母出現(xiàn)的次數(shù)beginfor i:=1 to 26 do ai:=0; read(ch);while ch# do beginif(ch=a)and(ch0 then writeln(chr(i+96), ,ai);end.算法二:var ch:char; n,i:integer;a:array97.122 of integer; 統(tǒng)計(jì)字母出現(xiàn)的次數(shù)beginfor i:=97 to 122 do ai:=0; read(ch);while ch# do beginif(ch=a)and(ch0 then writeln(chr(i), ,ai
4、);end.算法三:var ch:char; n,i:integer;a:arraya.z of integer; 統(tǒng)計(jì)字母出現(xiàn)的次數(shù)beginfor ch:=a to z do ach:=0; read(ch);while ch# do beginif(ch=a)and(ch0 then writeln(ch, ,ach);end.二、字符串字符串用于存放批量字符的一串字符。Var:a:string;或Var:a:stringn; A:=hello其中正整數(shù)n(1=n=255)表示構(gòu)成字符串的字符最多個(gè)數(shù)。若字符串說(shuō)明中沒(méi)有指定長(zhǎng)度,缺省值為255。Freepascal中新增加的字符串類型:
5、 ansistring;默認(rèn)長(zhǎng)度可達(dá)2562 -1=65535Var St:ansistring;字符串的有關(guān)操作操作類型作用返回值例子length(s)函數(shù)求字符串s的長(zhǎng)度整型s:=123456789;l:=length(s);l的值為9copy(s,w,k)函數(shù)復(fù)制s中從w開(kāi)始的k位字符串s:=123456789;s1:=copy(s,3,5); s1的值是34567pos(c, S)函數(shù)求字符(串)c在串s中的位置整型S := 126.5;i :=Pos(6 , S);i的值為3+運(yùn)算符將兩個(gè)字符串連接起來(lái)s1:=1234; s2:=5678;s:=s1+s2;12345678val(s
6、,k,code)過(guò)程將字符串s轉(zhuǎn)為數(shù)值,存在k中;code是錯(cuò)誤代碼var s:string;k,code:integer; s:=1234;val(s,k,code);write(k);k=1234str(i,s)過(guò)程將數(shù)值i轉(zhuǎn)為字符串si:=1234;str(i,s); write(s);s=1234delete(s,w,k)過(guò)程在s中刪除從第w位開(kāi)始的k個(gè)字符s := Honest Abe Lincoln; Delete(s,8,4);Writeln(s); Honest Lincoln insert(s1, S, w)過(guò)程將s1插到s中第w位S := Honest Lincoln; I
7、nsert(Abe , S, 8); Honest Abe Lincoln 字符串使用中的有關(guān)說(shuō)明和注意事項(xiàng):1、字符串的輸入和輸出:輸入:字符串是以回車作為的結(jié)束標(biāo)志.所以輸入必須readln(s);每個(gè)readln語(yǔ)句只能讀入一個(gè)字符串。不能readln(s1,s2);輸出:writeln(s);2、字符串可以和數(shù)組一樣操作:a:=nabcdeg;則:a1:=n;a3:=b; 輸出:writeln(a);或:for i:=1 to length(a)do write(ai);3、從鍵盤只能接受127個(gè)字符;一般都是文件輸入。4、嚴(yán)格區(qū)分?jǐn)?shù)字字符、數(shù)字字符串與數(shù)值的區(qū)別,但可以相互轉(zhuǎn)化。44
8、13261326如:vara:char; i:integer; a:=4;i:=ord(a)-48; writeln(i);i=45、字符串大小的比較。123=12312345123251234512344561234566、數(shù)字串轉(zhuǎn)化為數(shù)值型兩種方法:一、過(guò)程 val二、直接轉(zhuǎn)化1、輸入一個(gè)正整數(shù)n(10250),求它的各位數(shù)字之和S。varn:string; s,k,i:integer;beginreadln(n); k:=length(n); s:=0;for i:=1 to k do s:=s+ord(ni)-48; writeln(s);end.字符串應(yīng)用舉例:2、編寫一個(gè)程序,統(tǒng)計(jì)
9、從鍵盤輸入的n(100)個(gè)英 文單詞中以c開(kāi)頭的單詞,并輸出個(gè)數(shù)。樣例: 輸入:4an cat bee Cow輸出:cat Cow 2var a:array1.100 of string; n,i,s:integer;beginreadln(n);for i:=1 to n do readln(ai);s:=0;for i:=1 to n do記錄輸入的單詞輸入單詞個(gè)數(shù)輸入單詞記錄單詞中一c開(kāi)頭的數(shù)目if (ai,1=c)or(ai,1=C) then begins:=s+1;writeln(ai); end;writeln(s); end.累加輸出以c開(kāi)頭的單詞3、編程驗(yàn)證一個(gè)數(shù)是不是是回文
10、數(shù)(10250)(一個(gè)數(shù)的第一位和倒數(shù)第一位相同,第二位和倒數(shù)第二位相 同如:13531,3443)。樣例:輸入:123456435400565654656565輸出:novara:string; n,i,len:integer; yn:boolean; begin readln(a); len:=length(a); n:=len div 2; yn:=true;for i:=1 to n doif aialen+1-i thenbegin yn:=false; break; end;if yn then writeln(yes) else writeln(no); end.方法一方法二va
11、r a:string; i,j,k:integer;beginreadln(a); k:=length(a);i:=1;j:=k;while (ai=aj)and(i=j then writeln(yes) else writeln(no);end.4、完成計(jì)算器功能:完成30000以內(nèi)的正整數(shù)加法運(yùn)算。樣例:輸入:130+100輸出: 230算法:1) 找到+的位置k。2) 將運(yùn)算符前的字符轉(zhuǎn)化為數(shù)值a,運(yùn)算符后的字符串轉(zhuǎn)化為b。3) 求a+b的值。方法一過(guò)程:val(s,a,c)中,c只能是整型數(shù),如果轉(zhuǎn)化成功:c=0。a可以是實(shí)數(shù)也可以是整數(shù).Val(12.6,a,c);a:=12.6v
12、ara,b,k,c:integer;ab:longint; s:string;begin readln(s); k:=pos(+,s);val(copy(s,1,k-1),a,c);val(copy(s,k+1,length(s)-k),b,c); ab:=a+b;writeln(ab); end.vara,b,k,c,n,i:integer;ab:longint; s:string;begin readln(s); k:=pos(+,s); n:=length(s); a:=0;for i:=1 to k-1 do a:=a*10+ord(si)-48; b:=0;for i:=k+1 to
13、 n do b:=b*10+ord(si)-48; ab:=a+b;writeln(ab); end.方法二5、編程完成30000以內(nèi)的正整數(shù)的+、-、*、/一種運(yùn)算,只含一個(gè)運(yùn)算符號(hào)。樣例:輸入:130*100輸出: 13000vara,b,k,c,len:integer; s:string;op:char; beginreadln(s); len:=length(s); for k:=1 to len doif not(sk=0) then break; op:=sk;val(copy(s,1,k-1),a,c);val(copy(s,k+1,length(s)-k),b,c); case
14、 op of+:writeln(a+b);-:writeln(a-b);*:writeln(a*b);/:if b=0 then writeln(no answer) else writeln(a/b:0:2);end; end.6、刪數(shù)問(wèn)題鍵盤輸入一個(gè)正整數(shù),去掉其中任意個(gè)數(shù)字后剩下的數(shù)字按原左右次序?qū)⒔M成一個(gè)新的正整數(shù)。編程對(duì)給定的和, 尋找一種方案使得剩下的數(shù)字組成的新數(shù)最小。(不超過(guò) 位)輸入:兩行,第一行:正整數(shù)n,第二行:正整數(shù)S。輸出:n去掉的s個(gè)數(shù)字后組成的新的最小的正整數(shù)m。樣例:輸入:123006 2輸出:1006每一次刪除的一個(gè)數(shù)字都是從首位開(kāi)始的最長(zhǎng)連續(xù)上升序列的最末位數(shù)字。1214578944000287626723971045428760
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026版咨詢《實(shí)務(wù)》章節(jié)習(xí)題 第九章 融資方案分析
- 《GBT 14488.1-2008植物油料 含油量測(cè)定》專題研究報(bào)告
- 道路勘測(cè)知識(shí)培訓(xùn)課件
- 2026年六年級(jí)數(shù)學(xué)上冊(cè)月考試卷含答案
- 2025-2026年三年級(jí)數(shù)學(xué)上冊(cè)期末試卷含答案
- 道德與法治課件安全的玩
- 2026年廣東省揭陽(yáng)市重點(diǎn)學(xué)校高一入學(xué)數(shù)學(xué)分班考試試題及答案
- 2023+SGO臨床實(shí)踐聲明:化療超敏反應(yīng)及脫敏的管理
- 返工返崗安全培訓(xùn)記錄課件
- 邊境大棚種植培訓(xùn)課件
- 2026長(zhǎng)治日?qǐng)?bào)社工作人員招聘勞務(wù)派遣人員5人參考題庫(kù)完美版
- 假體豐胸培訓(xùn)課件
- 中建八局項(xiàng)目如何落實(shí)鋼筋精細(xì)化管理
- 婚外賠償協(xié)議書
- 血小板減少紫癜課件
- 安徽省江南十校2025-2026學(xué)年高一上學(xué)期12月聯(lián)考生物(含答案)
- 2025年大學(xué)公共管理(公共管理學(xué))試題及答案
- 雨課堂學(xué)堂在線學(xué)堂云《藥物信息學(xué)(山東大學(xué) )》單元測(cè)試考核答案
- 鋼結(jié)構(gòu)波形梁護(hù)欄技術(shù)說(shuō)明書
- 新能源車電池性能檢測(cè)報(bào)告范本
- 膽囊癌教學(xué)課件
評(píng)論
0/150
提交評(píng)論