版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
西安交大C++程序設(shè)計第六章作業(yè)西安交大C++程序設(shè)計第六章作業(yè)西安交大C++程序設(shè)計第六章作業(yè)西安交大C++程序設(shè)計第六章作業(yè)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:西安交通大學(xué)實驗報告課程__計算機程序設(shè)計__實驗名稱_指針__第1頁共12頁系別___________實驗日期2014年4月12日專業(yè)班級____組別_____________實驗報告日期2014年4月12日姓名_________學(xué)號__報告退發(fā)(訂正、重做)同組人_________________________________教師審批簽字一、實驗?zāi)康恼莆罩羔樀氖褂梅椒?,學(xué)會使用指針來處理數(shù)組、字符串問題,體會使用指針的優(yōu)點。二、實驗內(nèi)容(一)第一題:編寫程序,將某一個輸入的位數(shù)不定的正整數(shù)按照標(biāo)準(zhǔn)的三位分節(jié)的格式輸出,例如,當(dāng)用戶輸入時,程序輸出82,668,634.1.源程序代碼:#include<iostream>usingnamespacestd;intmain(){ intn; cout<<"請輸入正整數(shù):"; cin>>n; intm,x; for(m=0,x=n;x>=1;m++)驗結(jié)果:(二)第二題:用指針編寫一個程序,當(dāng)輸入一個字符串后,要求不僅能夠統(tǒng)計其中字符的個數(shù),還能分別指出其中的大、小寫字母、數(shù)字及其他字符的個數(shù)。1.源程序代碼:#include<iostream>usingnamespacestd;intmain(){ charu[51]; cout<<"請輸入字符串:\n"; (u,50); inti; inta=0,b=0,c=0,d=0; intn=strlen(u); for(i=0;i<n;i++)驗結(jié)果:(三)第三題:編寫一個函數(shù),用于將一個字符串轉(zhuǎn)換成整型數(shù)值。其原型為:intatoi(char*string);其中參數(shù)string為待轉(zhuǎn)換的字符串(包括正負(fù)號和數(shù)字),返回值為轉(zhuǎn)換結(jié)果。1.源程序代碼:#include<iostream>usingnamespacestd;intatoi(char*string);intmain(){ charstring[13]; cout<<"請輸入字符串(帶正負(fù)號):"; cin>>string; cout<<"結(jié)果為:"<<atoi(string)<<endl; return0;}intatoi(char*string){ intsum=0,n=strlen(string),x=1; int*num=newint[n-1];驗結(jié)果:3.問題分析:不足之處:對于正數(shù)必須輸入正號,這一點不好。理論上應(yīng)該在開頭加一個判斷,若首字符不是負(fù)號,則將從一位字符開始處理;若是,則從第二位開始處理……但是這樣的不足就是需要執(zhí)行大量的步驟,明顯加大了程序的運行時間。(四)第四題:編寫一個函數(shù),用于生成一個空白字符串,其原型為:char*mystrspc(char*string,intn);其中參數(shù)string為字符串,n為空白字符串的長度(空格符的個數(shù))。返回值為指向string的指針。1.源程序代碼:#include<iostream>usingnamespacestd;char*mystrspc(char*string,intn);intmain(){ intn; cout<<"請輸入您要得到的空字符串的長度:"; cin>>n; char*string=newchar[n+1]; cout<<"結(jié)果為:“"; cout<<mystrspc(string,n)<<"”"<<endl;}char*mystrspc(char*string,intn){ inti; for(i=0;i<n;i++) string[i]=''; string[i]='\0'; returnstring;}2.實驗結(jié)果:五、第五題:修改選擇排序函數(shù),使每輪挑選最大元素,函數(shù)原型如下:voidselectsort(int*array,intn);編寫主函數(shù)對其進行測試。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; if(k!=i) { inttmp=*(array+i); *(array+i)=*(array+k); *(array+k)=tmp; } }}intmain(){ intarray[6]={2,7,2,2,3,1}; selectsort(array,6); cout<<"Theresultis:"<<endl; for(inti=0;i<6;i++)cout<<array[i]<<""; cout<<endl; return0;}2.實驗結(jié)果:3、問題分析:為了驗證每次是將最大的元素放在最左邊,改了改函數(shù)使其輸出每輪結(jié)果:六、第六題:編寫一個實現(xiàn)文章單詞統(tǒng)計功能的函數(shù),要求:輸入一系列英文單詞(即帶空格的字符串),單詞間用空格隔開或逗號或句號隔開。請統(tǒng)計該字符串中單詞的個數(shù),該函數(shù)的原型為:intstatistic(char*string);其中參數(shù)string是文章字符串,該函數(shù)無返回值。編寫主函數(shù),對上述函數(shù)進行測試。1.源程序代碼:#include<iostream>usingnamespacestd;intstatistic(char*string);intmain(){ charstring[201]; cout<<"請輸入英文語句:"; (string,200); cout<<"其中的單詞數(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'||b>'z')&&(b<'A'||b>'Z'))) s++; } chara=*(string+i); if((a<='z'&&a>='a')||(a<='Z'&&a>='A')) s++; returns;}2.實驗結(jié)果:3.問題分析:設(shè)計思路:對每個字符與其后的一個字符進行比較(最后一個除外),如果某個位置滿足:該字符是字母而后邊的一個字符不是,則記錄一個單詞數(shù);對于最后一個單詞,若結(jié)尾沒有非字母的字符則無法計數(shù),所以再判斷最后一個是不是字母,如果是,那么給單詞數(shù)再加一,從而將最后一個單詞也算了進去。(七)第七題:編寫加密函數(shù),將任意字符串的明文中奇數(shù)位置的字符放在一起,置逆;接著將偶數(shù)位置的字符放在一起,也置逆。最后將置逆的偶數(shù)字符串放在前部,將置逆的奇數(shù)字符串放在后部,連接形成密文。例如:明文為“Iampossible”,密文是“l(fā)ispmebsoaI”。要求編寫主函數(shù)加以測試。加密函數(shù)原型如下:char*jiami(char*mingwen);1.源程序代碼:#include<iostream>usingnamespacestd;char*jiami(char*mingwen);intmain(){ charstring[51]; cout<<"請輸入字符串:"; (string,51); cout<<"加密結(jié)果是:"; jiami(string); cout<<endl; return0;}char*jiami(char*mingwen){ intn=strlen(mingwen); inta=(n+1)/2,b=n/2; char*odd=newchar[a+1]; char*even=newchar[b+1]; inti; for(i=0;i<a;i++) *(odd+a-i-1)=*(mingwen+2*i); *(odd+a)='\0'; for(i=0;i<b;i++) *(even+b-i-1)=*(mingwen+2*i+1); *(even+b)='\0'; cout<<even<<odd; return0;}改編版:#include<iostream>usingnamespacestd;char*jiami(char*mingwen);intmain(){ charstring[51]; cout<<"請輸入字符串:"; (string,51); cout<<"加密結(jié)果是:"; cout<<jiami(string); cout<<endl; return0;}char*jiami(char*mingwen){ i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年浮山縣幼兒園教師招教考試備考題庫及答案解析(奪冠)
- 2025年瑪沁縣招教考試備考題庫帶答案解析
- 2024年肇州縣招教考試備考題庫帶答案解析(必刷)
- 2025年江西青年職業(yè)學(xué)院單招職業(yè)技能測試題庫帶答案解析
- 2025年吉林鐵道職業(yè)技術(shù)大學(xué)馬克思主義基本原理概論期末考試模擬題及答案解析(奪冠)
- 2025年江西航空職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫附答案解析
- 2025年鹽城幼兒師范高等專科學(xué)校馬克思主義基本原理概論期末考試模擬題帶答案解析
- 2024年紅河縣幼兒園教師招教考試備考題庫附答案解析
- 2024年福州軟件職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題帶答案解析(奪冠)
- 2025年南和縣幼兒園教師招教考試備考題庫帶答案解析(必刷)
- 麻醉術(shù)后疼痛護理
- 西藏參工參建管理制度
- 學(xué)校教育教學(xué)管理制度
- 北京利達(dá)主機JB-QB-LD128EN(M)
- 全新水利部事業(yè)單位考試歷年真題試題及答案
- 河湖健康評價指南(試行)
- 回款協(xié)議合同協(xié)議書
- DL∕T 5768-2018 電網(wǎng)技術(shù)改造工程工程量清單計算規(guī)范
- YST 581.1-2024《氟化鋁化學(xué)分析方法和物理性能測定方法 第1部分:濕存水含量和灼減量的測定 重量法》
- 小學(xué)五年級數(shù)學(xué)上冊寒假作業(yè)天天練30套試題(可打印)
- 金蟬環(huán)保型黃金選礦劑使用說明
評論
0/150
提交評論