西安交大C++程序設(shè)計(jì)第六章作業(yè)_第1頁(yè)
西安交大C++程序設(shè)計(jì)第六章作業(yè)_第2頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程計(jì)算機(jī)程序設(shè)計(jì)_實(shí)驗(yàn)名稱_指針第1頁(yè)共12頁(yè)系別_實(shí)驗(yàn)日期2014年4月12日專業(yè)班級(jí)_組別實(shí)驗(yàn)報(bào)告日期2014年4月12日姓名_學(xué)號(hào)_報(bào)告退發(fā)(訂正、重做)同組人教師審批簽字一、實(shí)驗(yàn)?zāi)康恼莆罩羔樀氖褂梅椒?,學(xué)會(huì)使用指針來(lái)處理數(shù)組、字符串問(wèn)題,體會(huì)使用指針的優(yōu)點(diǎn)。二、實(shí)驗(yàn)內(nèi)容(一)第一題:編寫程序,將某一個(gè)輸入的位數(shù)不定的正整數(shù)按照標(biāo)準(zhǔn)的三位分節(jié)的格式輸出,例如,當(dāng)用戶輸入時(shí),程序輸出82,668,634.1. 源程序代碼:#inelude<iostream>usingnamespacestd;intmain()intn;cout<<"請(qǐng)輸入正整數(shù):&qu

2、ot;cin»n;intm,x;for(m=0,x=n;x>=1;m+)驗(yàn)結(jié)果:(二)第二題:用指針編寫一個(gè)程序,當(dāng)輸入一個(gè)字符串后,要求不僅能夠統(tǒng)計(jì)其中字符的個(gè)數(shù),還能分別指出其中的大、小寫字母、數(shù)字及其他字符的個(gè)數(shù)。1. 源程序代碼:#include<iostream>usingnamespacestd;intmain()charu51;cout<<"請(qǐng)輸入字符串:n"(u,50);inti;inta=0,b=0,c=0,d=0;intn=strlen(u);for(i=0;i<n;i+)驗(yàn)結(jié)果:(三) 第三題:編寫一個(gè)函數(shù)

3、,用于將一個(gè)字符串轉(zhuǎn)換成整型數(shù)值。其原型為:intatoi(char*string);其中參數(shù)string為待轉(zhuǎn)換的字符串(包括正負(fù)號(hào)和數(shù)字),返回值為轉(zhuǎn)換結(jié)果。1.源程序代碼:#include<iostream>usingnamespacestd;intatoi(char*string);intmain()charstring13;cout<<"請(qǐng)輸入字符串(帶正負(fù)號(hào)):"cin>>string;cout<<"結(jié)果為:"<<atoi(string)<<endl;return0;in

4、tatoi(char*string)intsum=0,n=strlen(string),x=1;int*num=newintn-1;驗(yàn)結(jié)果:3.問(wèn)題分析:不足之處:對(duì)于正數(shù)必須輸入正號(hào),這一點(diǎn)不好。理論上應(yīng)該在開頭加一個(gè)判斷,若首字符不是負(fù)號(hào),則將從一位字符開始處理;若是,則從第二位開始處理但是這樣的不足就是需要執(zhí)行大量的步驟,明顯加大了程序的運(yùn)行時(shí)間。(四) 第四題:編寫一個(gè)函數(shù),用于生成一個(gè)空白字符串,其原型為:char*mystrspc(char*string,intn);其中參數(shù)string為字符串,n為空白字符串的長(zhǎng)度(空格符的個(gè)數(shù))。返回值為指向string的指針。1.源程序代碼:

5、#include<iostream>usingnamespacestd;char*mystrspc(char*string,intn);intmain()intn;cout<<"請(qǐng)輸入您要得到的空字符串的長(zhǎng)度:"cin>>n;char*string=newcharn+1;cout<<"結(jié)果為:“"cout<<mystrspc(string,n)<<"”"<<endl;char*mystrspc(char*string,intn)inti;for(i=0

6、;i<n;i+)stringi=stringi='0'returnstring;2. 實(shí)驗(yàn)結(jié)果:五、第五題:修改選擇排序函數(shù),使每輪挑選最大元素,函數(shù)原型如下:voidselectsort(int*array,intn);編寫主函數(shù)對(duì)其進(jìn)行測(cè)試。1.源程序代碼:#include<iostream>usingnamespacestd;voidselectsort(int*array,intn)for(inti=n-1;i>=0;i-)intk=i;for(intj=i-1;j>=0;j-)if(*(array+j)>*(array+k)k=j;

7、if(k!=i)inttmp=*(array+i);*(array+i)=*(array+k);*(array+k)=tmp;intmain()intarray6=2,7,2,2,3,1;selectsort(array,6);cout<<"Theresultis:"<<endl;for(inti=0;i<6;i+)cout<<arrayi<<""cout<<endl;return0;2. 實(shí)驗(yàn)結(jié)果:3、問(wèn)題分析:為了驗(yàn)證每次是將最大的元素放在最左邊,改了改函數(shù)使其輸出每輪結(jié)果:六、第六題

8、:編寫一個(gè)實(shí)現(xiàn)文章單詞統(tǒng)計(jì)功能的函數(shù),要求:輸入一系列英文單詞(即帶空格的字符串),單詞間用空格隔開或逗號(hào)或句號(hào)隔開。請(qǐng)統(tǒng)計(jì)該字符串中單詞的個(gè)數(shù),該函數(shù)的原型為:intstatistic(char*string);其中參數(shù)string是文章字符串,該函數(shù)無(wú)返回值。編寫主函數(shù),對(duì)上述函數(shù)進(jìn)行測(cè)試。1源程序代碼:#include<iostream>usingnamespacestd;intstatistic(char*string);intmain()charstring201;cout<<"請(qǐng)輸入英文語(yǔ)句:"(string,200);cout<&

9、lt;"其中的單詞數(shù)目為:"cout<<statistic(string)<<endl;return0;intstatistic(char*string)intn=strlen(string);inti,s=0;for(i=0;i<n-1;i+)chara=*(string+i),b=*(string+i+1);if(a<='z'&&a>='a')|(a<='Z'&&a>='A')&&(b<'a&

10、#39;|b>'z')&&(b<'A'|b>'Z')s+;chara=*(string+i);if(a<='z'&&a>='a')|(a<='Z'&&a>='A')s+;returns;2實(shí)驗(yàn)結(jié)果:3. 問(wèn)題分析:設(shè)計(jì)思路:對(duì)每個(gè)字符與其后的一個(gè)字符進(jìn)行比較(最后一個(gè)除外),如果某個(gè)位置滿足:該字符是字母而后邊的一個(gè)字符不是,則記錄一個(gè)單詞數(shù);對(duì)于最后一個(gè)單詞,若結(jié)尾沒(méi)有非字母的字符則無(wú)法計(jì)數(shù),

11、所以再判斷最后一個(gè)是不是字母,如果是,那么給單詞數(shù)再加一,從而將最后一個(gè)單詞也算了進(jìn)去。(七)第七題:編寫加密函數(shù),將任意字符串的明文中奇數(shù)位置的字符放在一起,置逆;接著將偶數(shù)位置的字符放在一起,也置逆。最后將置逆的偶數(shù)字符串放在前部,將置逆的奇數(shù)字符串放在后部,連接形成密文。例如:明文為“Iampossible”,密文是“l(fā)ispmebsoal”。要求編寫主函數(shù)加以測(cè)試。加密函數(shù)原型如下:char*jiami(char*mingwen);1.源程序代碼:#include<iostream>usingnamespacestd;char*jiami(char*mingwen);int

12、main()charstring51;coutvv"請(qǐng)輸入字符串:";(string,51);coutvv"加密結(jié)果是:"jiami(string);coutvvendl;return0;char*jiami(char*mingwen)intn=strlen(mingwen);inta=(n+1)/2,b=n/2;char*odd=newchara+1;char*even=newcharb+1;inti;for(i=0;iva;i+)*(odd+a-i-1)=*(mingwen+2*i);*(odd+a)='0'for(i=0;ivb;i+)*(even+b-i-1)=*(mingwen+2*i+1);*(even+b)='0'coutvvevenvvodd;return0;改編版:#includeviostream>usingnamespacestd;char*jiami(char*mingwen);intmain()charstring51;coutvv"請(qǐng)輸入字符串:"(string,51);coutvv"加密結(jié)果是:"coutvvjiami(string);coutvvendl;return0;char*jiami(char*mingwen)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論