![實(shí)驗(yàn)十四 指針與數(shù)組_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/65fd0816-4c86-4d91-9e9b-a3603322e49f/65fd0816-4c86-4d91-9e9b-a3603322e49f1.gif)
![實(shí)驗(yàn)十四 指針與數(shù)組_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/65fd0816-4c86-4d91-9e9b-a3603322e49f/65fd0816-4c86-4d91-9e9b-a3603322e49f2.gif)
![實(shí)驗(yàn)十四 指針與數(shù)組_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/65fd0816-4c86-4d91-9e9b-a3603322e49f/65fd0816-4c86-4d91-9e9b-a3603322e49f3.gif)
![實(shí)驗(yàn)十四 指針與數(shù)組_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/65fd0816-4c86-4d91-9e9b-a3603322e49f/65fd0816-4c86-4d91-9e9b-a3603322e49f4.gif)
![實(shí)驗(yàn)十四 指針與數(shù)組_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/65fd0816-4c86-4d91-9e9b-a3603322e49f/65fd0816-4c86-4d91-9e9b-a3603322e49f5.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)十四 指針與數(shù)組一、 實(shí)驗(yàn)?zāi)康臄?shù)組在處理同類型的多個(gè)數(shù)據(jù)問(wèn)題時(shí)非常有效,是C+的重要數(shù)據(jù)類型。指針是C+中最靈活、最有特色的部分,沒(méi)有熟練掌握指針,則不能說(shuō)學(xué)會(huì)了C+。指針的教學(xué)重點(diǎn)應(yīng)放在數(shù)組與指針之間的密切關(guān)系上。通過(guò)本實(shí)驗(yàn)要求掌握以下內(nèi)容:1. 指針的定義和使用方法2. 指針與數(shù)組的相互關(guān)系3. 指針或數(shù)組作為函數(shù)參數(shù)的函數(shù)定義及調(diào)用方法。4. C字符串及其運(yùn)算5. 標(biāo)準(zhǔn)字符串二、 實(shí)驗(yàn)內(nèi)容1范例:判斷用戶輸入的C字符串是否為"回文",所謂"回文"是指順讀和反讀都一樣的串, 例如串 12321、madam。【程序】 #include <io
2、stream>#include <cstring>using namespace std;const SIZE=100;int main()char carraySIZE; int i,len,is_palindrome=1;cout<<"Please input a string.n"cin.get(carray,SIZE);len=strlen(carray);for (i=0;i<len/2;i+)if(carrayi!=carraylen-1-i)is_palindrome=0;break;if(is_palindrome) co
3、ut<<"The string is a palindrome.n"else cout<<"The string isn't a palindrome.n"return 0; 【要求】(1) 重新定義回文為:濾去所有非字母字符(包括空格)后,不考慮字母的大小寫(xiě),從左向右和從右向左讀都相同的詞或短語(yǔ)。如,”Madam, Im adam” 和 “Golf ,No Sir ,prefer prison flog!” (2) 編寫(xiě)一個(gè)判斷輸入字符串是否為回文的函數(shù),并使用指針形式訪問(wèn)數(shù)組元素。2. 范例:按一定的規(guī)則可以
4、將一個(gè)字符串經(jīng)加密轉(zhuǎn)換為一個(gè)新的串,例如加密的簡(jiǎn)單方法是當(dāng)為'a''y'的小寫(xiě)字母時(shí)用后一個(gè)字母代替前一個(gè)字母,其中'z'變換為'a',其他字符時(shí)不變。例如: 原串為 This is a secret code! 加密后的串為 Tijt jt b tfdsfu dpef! 編寫(xiě)一個(gè)程序?qū)斎氪用?,輸出加密前和加密后的串,再將加密后的字符串解密輸出。主函?shù)如下,請(qǐng)編寫(xiě)加密函數(shù)和解密函數(shù)?!境绦颉?#include<iostream>using namespace std;void secret(char *p);/加密
5、函數(shù)void desecret(char *p);/解密函數(shù)int main() char st="This is a secret code!"cout<< st<< endl;secret(st);cout<<st<< endl;desecret(st);cout<<st<< endl;return 0; void secret(char *p)while (*p!='0')if(*p>96&&*p<122) *p+=1;else if(*p=122) *
6、p='a'p+;void desecret(char *p)while (*p!='0')if(*p>97&&*p<123) *p-=1;else if(*p=97) *p='z'p+;【要求】(1) 閱讀程序,如果將兩個(gè)函數(shù)中else if(*s=122) *s='a'和else if(*s=97) *s='z'處的else 去掉,對(duì)程序有何影響?使用數(shù)據(jù)”I am a boy !” 重新測(cè)試看看。答:對(duì)這句話沒(méi)有影響,由于兩句都去掉所以不會(huì)出現(xiàn)加密和解密的不對(duì)應(yīng),但如果只去除一個(gè)那么
7、就可能出現(xiàn)解密不正確的問(wèn)題。同時(shí),刪去后,加密時(shí)對(duì)于字母z不改變;解密時(shí)對(duì)于a不改變。(2) 仿造上例編寫(xiě)程序:設(shè)計(jì)一個(gè)帶密鑰的加密算法,例如密鑰可以是一個(gè)常數(shù),字符串加密的方法是將每個(gè)字符的ASCII碼值加上該常數(shù),然后對(duì)128求模。要求以密鑰將加密的字符串加密輸出,再以相同的密鑰將加密字符串解密輸出。 3編程:重新編寫(xiě)實(shí)驗(yàn)十三中題3的字符串處理函數(shù),用指針作為參數(shù)。 #include<iostream>#include<cstring>using namespace std;void trim(char *s);void leftstring(char
8、*s1,char *s2,int n);int index(char *s1,char *s2);int main()char str1="I'm student. ",str2="student",str34;int n;cout<<"包含尾部空格的串str1:"<<str1<<"長(zhǎng)度為:"<<strlen(str1)<<endl;trim(str1);cout<<"無(wú)尾部空格的串str1:"<<str
9、1<<"長(zhǎng)度為:"<<strlen(str1)<<endl;leftstring(str1,str3,3);cout<<"串str3:"<<str3<<"長(zhǎng)度為:"<<strlen(str3)<<endl;cout<<"串str2為:"<<str2<<endl;n=index(str1,str2);if(n!=-1) cout<<"串str1包含子串str2,從第
10、"<<n<<"字符開(kāi)始(由0開(kāi)始計(jì)數(shù))。"<<endl;else cout<<"串str1不包含子串str2."<<endl;return 0;void trim(char *s) while(*s!='0')s+; s-; while (*s=' ') *s='0's-; /*void leftstring(char s1,char s2,int n)for (int i=0;i<n;i+) s2i=s1i;s2n='0'*/void leftstring(char *s1,char *s2,int n)for(int i=0;i<n;i+)*s2=*s1;s1+;s2+;*s2='0' /重要!int index (char *s1,char *s2)bool b=0;int
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025完整施工隊(duì)合同
- 兼職中醫(yī)師聘用合同
- 活動(dòng)承辦合同模板
- 合同示范文本庫(kù)
- 變壓器承包合同
- 企業(yè)員工勞動(dòng)合同范本
- 連帶責(zé)任擔(dān)保借款合同范本
- 2025關(guān)于土地轉(zhuǎn)讓合同范本
- 定制家具合同
- 知識(shí)產(chǎn)權(quán)許可使用及轉(zhuǎn)讓合同范本
- 個(gè)人安全與社會(huì)責(zé)任的基本知識(shí)概述
- 建筑裝飾工程計(jì)量與計(jì)價(jià)試題一及答案
- 簡(jiǎn)易勞務(wù)合同電子版
- 明代文學(xué)緒論
- 通用稅務(wù)自查情況說(shuō)明報(bào)告(7篇)
- 體育賽事的策劃、組織與實(shí)施 體育賽事利益相關(guān)者
- 分析化學(xué)(高職)PPT完整版全套教學(xué)課件
- 晚熟的人(莫言諾獎(jiǎng)后首部作品)
- m拱頂儲(chǔ)罐設(shè)計(jì)計(jì)算書(shū)
- 2023外貿(mào)業(yè)務(wù)協(xié)調(diào)期中試卷
- 新人教鄂教版(2017)五年級(jí)下冊(cè)科學(xué)全冊(cè)教學(xué)課件
評(píng)論
0/150
提交評(píng)論