c,c++程序設(shè)計(jì)教程 龔沛曾(新版)實(shí)驗(yàn)六答案_第1頁
c,c++程序設(shè)計(jì)教程 龔沛曾(新版)實(shí)驗(yàn)六答案_第2頁
c,c++程序設(shè)計(jì)教程 龔沛曾(新版)實(shí)驗(yàn)六答案_第3頁
c,c++程序設(shè)計(jì)教程 龔沛曾(新版)實(shí)驗(yàn)六答案_第4頁
c,c++程序設(shè)計(jì)教程 龔沛曾(新版)實(shí)驗(yàn)六答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.1編一判斷m是否為素?cái)?shù)的函數(shù),并在主函數(shù)中利用它輸出十對(duì)最小的孿生素?cái)?shù)。所謂孿生素?cái)?shù)是指兩個(gè)相差為2的素?cái)?shù),如3和5,11和13。輸出形式如圖2.6.1。函數(shù)形式為:bool isprime(int m);#include iostream.hint isprime(int m) /判別m是否為質(zhì)數(shù) int i; for(i=2;m%i!=0;i+); return (i=m); void main()int x,count=0; x=2; while(1) if(isprime(x)&isprime(x+2) count+; cout(x,x+2)=10)break; x+; 2. 編一函

2、數(shù),功能為構(gòu)造正整數(shù)x的逆序數(shù)。再編一主函數(shù),輸出10個(gè)大于10000的最小的回文數(shù)。回文數(shù)是指順讀和倒讀都相同的數(shù),如5、151、3553等。 函數(shù)形式為:int reverse (int x);#includeiostream.h#includestdlib.h#includetime.hint f(int a) int b,c=0;while(a!=0) b=a%10;精品. c=c*10+b; a/=10;return c;void main()int x,i,k=0,t;bool tag=true;srand(time(null);for(x=10000;k10;x+)if(f(x)

3、=x)coutxendl;k+;if(k=10)break;3編一函數(shù),功能為判斷一字符串是否為回文,如果是回文則返回1,否則返回0?;匚氖侵疙樧x和倒讀都一樣的字符串,如“deed”和“l(fā)evel”是回文。在主函數(shù)中對(duì)輸入的字符串加以調(diào)用。函數(shù)形式為:int huiwen(char s);#include #include #include int huiwen(char s) int i,n=0; char ch,s180; strcpy(s1,s); /原來的字符串保留在s1中 while(sn)n+; /求字符串長度 for(i=0;in/2;i+) /構(gòu)造逆序的字符串 ch=si; s

4、i=sn-i-1; sn-i-1=ch; if(strcmp(s1,s)=0) return 1; else return 0; void main() char s80; int i,count=0;cout輸入5個(gè)字符串:endl; for(i=0;i5;i+) gets(s);精品. if(huiwen(s)count+; cout回文個(gè)數(shù):countendl; 4函數(shù)的功能是將學(xué)生成績從高分到低分排序,并統(tǒng)計(jì)優(yōu)秀與不及格的人數(shù)。用下面兩種方法實(shí)現(xiàn):(1)函數(shù)形式為:int fun(int s,int n,int *x);要求優(yōu)秀人數(shù)通過return返回,不及格人數(shù)通過指針參數(shù)返回結(jié)果。

5、(2)函數(shù)形式為:void fun(int s,int n,int &x,int &y); 要求優(yōu)秀與不及格的人數(shù)通過引用參數(shù)返回結(jié)果。分別編二個(gè)程序,學(xué)生數(shù)從鍵盤輸入。方法一:#include #define n 10int fun(int a,int n,int *x)int i,j,k; *x=0; for(i=0;in-1;i+) k=i; for(j=i+1;jak) k=j; if(k!=i) int t=ak; ak=ai; ai=t; for(i=0;i=60) *x=*x+1; return(n-*x);void main()int an,i,n,pass,npass; ci

6、nn; for(i=0;iai; npass=fun(a,n,&pass); coutpass=pass,npass=npassendl; cout成績由高到低依次為:n; for(i=0;in;i+) coutaiendl;方法2:#include #define n 10精品.void fun(int a,int n,int &x,int &y)int i,j,k; x=0; for(i=0;in-1;i+) k=i; for(j=i+1;jak) k=j; if(k!=i) int t=ak; ak=ai; ai=t; for(i=0;i=60) x=x+1; y=n-x;void ma

7、in()int an,i,n,pass,npass; cinn; for(i=0;iai; fun(a,n,pass,npass); coutpass=pass,npass=npassendl; cout成績由高到低依次為:n; for(i=0;in;i+) coutaiendl;5. 編一函數(shù),功能為統(tǒng)計(jì)字符串中各個(gè)字母(不區(qū)分大、小寫)出現(xiàn)的頻率,同時(shí)找出頻率出現(xiàn)最高的字母及次數(shù)。函數(shù)形式為:void freq(char s,int p,char &chmax,int &max)#include iostream.h#include stdio.h#include string.hvoid

8、 freq(char s,int p,char &chmax,int &max) for(int i=0;i=a&si=z)精品. psi-a+; i+; max=p0; int k=0; for(i=1;imax) max=pi;k=i; chmax=k+97; void main() int p26,i,max; char s80,chmax; gets(s); freq(s,p,chmax,max);for(i=0;i26;i+) if(pi)coutchar(i+97) -piendl; coutchmax-maxsimax)imax=i; i+; while(simax!=0) /等

9、價(jià)于strupr(&simax);simax-=32;imax+;return p;void main()char s100; gets(s); coutmax(s)endl;精品.7編一函數(shù),求級(jí)數(shù)的部分和,當(dāng)最后一項(xiàng)的值小于eps時(shí)結(jié)束。設(shè)eps的默認(rèn)值為10-6 。函數(shù)形式為: double fun(double x, double eps=1e-6);#include #include double fun(double x,double eps=1e-6)int n=1; double t=1,s=0; while(fabs(x/t)1e-6) s=s+x/t; n=n+2; t=-

10、t*n*(n-1); return s;void main()double x; cinx; coutfun(x)endl;8編寫兩個(gè)同名的函數(shù),分別求出整型數(shù)的兩點(diǎn)間距離和浮點(diǎn)型數(shù)的兩點(diǎn)間距離,調(diào)試成功后,再將其改為用函數(shù)模板實(shí)現(xiàn)。函數(shù)形式為:double dist(int x1, int y1, int x2, int y2);double dist(double x1, double y1, double x2, double y2);#include #include double dist(int x1,int y1,int x2,int y2)return(sqrt(x1-x2)*

11、(x1-x2)+(y1-y2)*(y1-y2);double dist(double x1,double y1,double x2,double y2)return(sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);void main()int x1,x2,y1,y2; double x11,x12,y11,y12; cinx1y1x2y2; cinx11y11x12y12; coutdist1=dist(x1,y1,x2,y2)endl; coutdist2=dist(x11,y11,x12,y12)endl;用函數(shù)模板來實(shí)現(xiàn):精品.#include #include template double dist(t x1,t y1,t x2,t y2)return(sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論