
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
例313求Fibonacci數(shù)列前40個(gè)數(shù)。這個(gè)數(shù)列有如下特點(diǎn):第1、2個(gè)數(shù)為1、1。從第3個(gè)數(shù)開(kāi)始,每個(gè)數(shù)是其前面兩個(gè)數(shù)之和。#include #include using namespace std;int main( )long f1,f2;int i;f1=f2=1;for( i=1; i=20; i+ )/設(shè)備輸出字段寬度為12,每次輸出兩個(gè)數(shù)coutsetw(12)f1setw(12)f2; /每輸出完4個(gè)數(shù)后換行,使每行輸出4個(gè)數(shù)if(i%2=0) coutendl;f1=f1+f2; /左邊的f1代表第3個(gè)數(shù),是第1、2個(gè)數(shù)之和f2=f2+f1; /左邊的f2代表第4個(gè)數(shù),是第2、3個(gè)數(shù)之和return 0;例314100200間的素?cái)?shù)#include #include #include using namespace std;int main() int m,k,i,n=0; bool prime; for(m=101;m=200;m=m+2) prime=true;k=int(sqrt(m); for(i=2;i=k;i+)if(m%i=0) prime =false; break; if(prime) cout setw(5) m; n=n+1; if(n%10=0) cout endl; cout endl;return 0;例315譯密碼#include using namespace std;int main()char c; while (c=getchar()!=n)if(c=a&c=A&cZ&cz)c=c-26;coutc;coutendl;return 0;習(xí)題:16、統(tǒng)計(jì)個(gè)數(shù)#include using namespace std;int main ()char c; int letters=0,space=0,digit=0,other=0; coutenter one line:=a & c=A & c=0 & c=9) digit+; else other+; coutletter:letters, space:space, digit:digit, other:otherendl; return 0; 17、求Sn=a+aa+aaa+aaa(n個(gè)a)的值,n由鍵盤(pán)輸入。#includeusing namespace std;int main ()int a,n,i=1,sn=0,tn=0; coutan; while (i=n) tn=tn+a; /賦值后的tn為i個(gè)a組成數(shù)的值 sn=sn+tn; /賦值后的sn為多項(xiàng)式前i項(xiàng)之和 a=a*10; +i; couta+aa+aaa+.=snendl; return 0; 18、.求1!+2!+20!、#include using namespace std;int main ()float s=0,t=1; int n; for (n=1;n=20;n+) t=t*n; / 求n! s=s+t; / 將各項(xiàng)累加 cout1!+2!+.+20!=sendl; return 0; 19、求“水仙花數(shù)”例153=13+33+53#include using namespace std;int main ()int i,j,k,n; coutnarcissus numbers are:endl; for (n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if (n = i*i*i + j*j*j + k*k*k) coutn ; coutendl;return 0; 20、找出1000之內(nèi)所有的完數(shù)例如6的因子是1.2.3而6=1+2+3,所以6是完數(shù)#include using namespace std; int main() int m,s,i; for (m=2;m1000;m+) s=0; for (i=1;im;i+) if (m%i)=0) s=s+i; if(s=m) coutm is a完數(shù)endl; coutits factors are:; for (i=1;im;i+) if (m%i=0) couti ; coutendl; return 0; 21、2/1, 3/2, 5/3, 8/5, 13/8, 21/13,前20項(xiàng)之和#include using namespace std;int main() int i,t,n=20; double a=2,b=1,s=0; for (i=1;i=n;i+) s=s+a/b; t=a; a=a+b; / 將前一項(xiàng)分子與分母之和作為下一項(xiàng)的分子 b=t; / 將前一項(xiàng)的分子作為下一項(xiàng)的分母 coutsum=sendl; return 0; 24、輸出圖形#include using namespace std;int main() int i,k; for (i=0;i=3;i+) / 輸出上面4行*號(hào) for (k=0;k=2*i;k+) cout*; / 輸出*號(hào) coutendl; /輸出完一行*號(hào)后換行 for (i=0;i=2;i+) / 輸出下面3行*號(hào) for (k=0;k=4-2*i;k+) cout*; / 輸出*號(hào) coutendl; / 輸出完一行*號(hào)后換行 return 0;習(xí)題:1、求最大公約數(shù)和最小公倍數(shù),用主函數(shù)條用兩個(gè)函數(shù) #include using namespace std;int main() int hcf(int,int); int lcd(int,int,int); int u,v,h,l; cinuv; h=hcf(u,v); coutH.C.F=hendl; l=lcd(u,v,h); coutL.C.D=lu) t=u;u=v;v=t; while (r=u%v)!=0) u=v; v=r; return(v); int lcd(int u,int v,int h) return(u*v/h); 3、判別素?cái)?shù)的函數(shù) #include using namespace std;int main() int prime(int); /* 函數(shù)原型聲明 */ int n; coutn; if (prime(n) coutn is a prime.endl; else coutn is not a prime.endl; return 0; int prime(int n) int flag=1,i; for (i=2;in/2 & flag=1;i+) if (n%i=0) flag=0; return(flag); 4、.求a!+b!+c!的值,用一個(gè)函數(shù)fac(n)求n!。4#include using namespace std;int main() int fac(int); int a,b,c,sum=0; coutabc; sum=sum+fac(a)+fac(b)+fac(c); couta!+b!+c!=sumendl; return 0; int fac(int n) int f=1; for (int i=1;i=n;i+) f=f*i; return f; 7、.驗(yàn)證哥德巴赫猜想:一個(gè)不小于6的偶數(shù)可以表示為兩個(gè)素?cái)?shù)之和。7#include #include using namespace std;int main()void godbaha(int); int n; coutn; godbaha(n); return 0;void godbaha(int n) int prime(int); int a,b; for(a=3;a=n/2;a=a+2) if(prime(a) b=n-a; if (prime(b) coutn=a+bendl; int prime(int m)int i,k=sqrt(m); for(i=2;ik) return 1; else return 0;11、用遞歸方法求f(n)=12+22+n2#include using namespace std;int main() int f(int); int n,s; coutn; s=f(n); coutThe result is sendl; return 0; int f(int n) if (n=1) return 1; else return (n*n+f(n-1);例52 用數(shù)組Fibonacci數(shù)列#include #include using namespace std;int main () int i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i20;i+) if(i%5=0)coutendl; coutsetw(8)fi; coutendl; return 0;例5.3用冒泡法對(duì)10個(gè)數(shù)排序#include using namespace std;int main( ) int a10; int i,j,t; coutinput 10 numbers :endl; for (i=0;iai; coutendl; for (j=0;j9;j+) /共進(jìn)行9趟比較 for(i=0;iai+1) /如果前面的數(shù)大于后面的數(shù) t=ai;ai=ai+1;ai+1=t; /交換兩個(gè)數(shù)的位置,使小數(shù)上浮 coutthe sorted numbers :endl; for(i=0;i10;i+) /輸出10個(gè)數(shù) coutai ; coutendl; return 0;例54將二維數(shù)組行列元素互換,存到另一個(gè)數(shù)組中a=1 2 3 5 6 b=1 42 53 6#include using namespace std;int main() int a23=1,2,3,4,5,6; int b32,i,j; coutarray a:endl; for(i=0;i=1;i+) for(j=0;j=2;j+) coutaij ; bji=aij;coutendl; coutarray b:“endl; for(i=0;i=2;i+) for(j=0;j=1;j+) coutbij ; coutendl; return 0;例55求 34 二維數(shù)組中最大元素值及其行列號(hào)#include using namespace std;int main() int i,j,row=0,colum=0,max; int a34=5,12,23,56,19,28,37,46,-12,-34,6,8; max=a00; /使max開(kāi)始時(shí)取a00的值 for(i=0;i=2;i+) /從第0行第2行for(j=0;jmax) /如果某元素大于max max=aij; /max將取該元素的值row=i; /記下該元素的行號(hào)icolum=j; /記下該元素的列號(hào)jcoutmax= max ,row=row ,colum=columendl;return 0;例5.7用選擇法對(duì)數(shù)組中10個(gè)整數(shù)按由小到大排序#include using namespace std;int main( )void select_sort(int array,int n); /函數(shù)聲明int a10,i; coutenter the originl array:endl;for(i=0;iai; coutendl; select_sort( a ,10); /函數(shù)調(diào)用,數(shù)組名作實(shí)參 coutthe sorted array:endl; for(i=0;i10;i+) /輸出10個(gè)已排好序的數(shù) coutai ; coutendl; return 0;void select_sort(int array,int n) /形參array是數(shù)組名 int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(arrayjarrayk) k=j; t=arrayk;arrayk=arrayi;arrayi=t; 習(xí)題:6、打印出楊輝三角(要求打印出10行)#include #include using namespace std;int main() const int n=11; int i,j,ann; for (i=1;in;i+) aii=1; ai1=1; for (i=3;in;i+) for (j=2;j=i-1;j+) aij=ai-1j-1+ai-1j; for (i=1;in;i+) for (j=1;j=i;j+) coutsetw(5)aij ; coutendl; coutendl; return 0;C語(yǔ)言部分1. 編程計(jì)算1, 1+2, 1+2+3, , 1+2+3+n各項(xiàng)值的積答案:#include using namespace std;void main()int i,n,mul=1,sum=0;coutn;for (i=1;i=n;i+)sum+=i;mul*=sum;coutThe multiple is:mulj)return i;else return j;char max(char c1,char c2,char c3)char ch;if (c1c2)ch=c1;else ch=c2;if (c3ch)ch=c3;return ch;float max(float x,float y)if (xy)return x;else return y;double max(double x1,double x2,double x3)double y;if (x1x2)y=x1;else y=x2;if (x3y)y=x3;return y;3.請(qǐng)編寫(xiě)一個(gè)函數(shù)int find(char s,char t),該函數(shù)在字符串s中查找字符串t,如果找到,則返回字符串t在字符串s中的位置(整數(shù)值);否則返回-1。注意:用數(shù)組方式及兩重循環(huán)來(lái)實(shí)現(xiàn)該函數(shù)。答案:int find(char s,char t)int i,j,slen,tlen;slen=strlen(s);tlen=strlen(t); i=0;j=0;while (islen & j=tlen)return i-tlen+1;else return -1;4.寫(xiě)一程序,將字符串a(chǎn)的所有字符傳送到字符串b中,要求每傳送3個(gè)字符后放一個(gè)空格,例如,字符串a(chǎn)為”abcdefg”,則b為”abc deg g”。答案:#include #include #define N 40void fun(char s,char t) int i=0,j=0; while(si) tj=si; i+; j+; if (i)%3=0) tj= ; j+; tj=0;main() char aN,bN; printf(請(qǐng)輸入原始字符串a(chǎn): ); gets(a); fun(a,b); printf(加入空格后的字符串b: ); puts(b);5. 編程判斷一個(gè)數(shù)是否為素?cái)?shù)。答案:#include #include using namespace std;int prime(int m)int i,flag=1;for (i=2;i=int(sqrt(m);i+)if (m%i=0)flag=0;break; return flag;int main(void)int n;coutn;if (prime(n)coutn是素?cái)?shù)!endl;elsecoutn不是素?cái)?shù)!endl;return 0;6.編程打印九九乘法表: 11=1 12=2 22=4 13=3 23=6 33=9 .答案:#include using namespace std;void main()int i,j;for (i=1;i=9;i+)for (j=1;j=i;j+)printf(%1d*%1d=%2d ,j,i,i*j); printf(n);7.請(qǐng)編寫(xiě)一個(gè)程序,程序的功能是打印以下圖案。 * * * * * *答案:#include using namespace std;void main()int i,j;for (i=1;i=4;i+)for (j=1;j=4-i;j+)cout ;for (j=1;j=2*i-1;j+)cout*;cout=1;i-)for (j=1;j=4-i;j+)cout ;for (j=1;j=2*i-1;j+)cout*;coutendl;8. 寫(xiě)出下面程序的運(yùn)行結(jié)果:#include void average(float*p, int n)int i;float sum=0;for(i=0;in;i+,p+)sum+=(*p);coutsum/n;void main()float score22= 1,2,3,4 ;average(*score, 4);答案:2.5C+部分1定義一個(gè)滿(mǎn)足如下要求的Date類(lèi)。(1)用下面的格式輸出日期:日/月/年(2)可運(yùn)行在日期上加一天操作;(3)設(shè)置日期。答案:#include using namespace std; extern int i = 0; class Date public: set(int y,int m, int d); add(); print(); private: int year; int month; int day; ; Date:set(int y, int m, int d) year = y; month = m; day = d; Date:add() switch(month) case 1: case 3: case 5: case 7: case 8: case 10: if(day 31) day += 1; else if(day = 31) day = 1; month += 1; break; case 12: if(day 31) day += 1; else if(day = 31) day = 1; month = 1; year += 1; break; case 4: case 6: case 9: case 11: if(day 30) day += 1; else if(day = 30) day = 1; month += 1; break; case 2: if(year % 4 = 0 & year % 100 != 0 | year % 400 = 0) if(day 29) day += 1; else if(day = 29) day = 1; month+= 1; else if(day 28) day += 1; else if(day = 28) day = 1; month += 1; break; Date:print() cout day / month / year endl; void main() Date d1; int year; int month; int day; cout year month day; d1.set(year, month, day); d1.print(); d1.add(); cout 下一天是: ; d1.print(); 2定義一個(gè)時(shí)間類(lèi)Time,能提供和設(shè)置由時(shí)、分、秒組成的時(shí)間,并編出應(yīng)用程序,定義時(shí)間對(duì)象,設(shè)置時(shí)間,輸出該對(duì)象提供的時(shí)間。答案:/Time.h class Time public: Time();Time();bool SetTime(int h,int m,int s); void GetTime(int &h,int &m,int &s); void Print(); private: int iHour,iMinute,iSecond;/*/Time.cpp#include #include Time.h using namespace std;Time:Time()iHour=1;iMinute=1;iSecond=1;Time:Time()bool Time:SetTime(int h,int m,int s)if(h23) return false; if(m59) return false; if(s59) return false; iHour =h;iMinute= m;iSecond =s;return true; void Time:GetTime(int &h,int &m,int &s)h=iHour;m=iMinute;s=iSecond;void Time:Print()coutiHour:iMinute:iSecondendl; /*/mainfunction.cpp#include #include Time.husing namespace std;void main() Time t; t.SetTime(23,44,59);t.Print();3. 編寫(xiě)一個(gè)矩形的類(lèi),要求類(lèi)中具有長(zhǎng)和寬2個(gè)數(shù)據(jù)成員,具有構(gòu)造函數(shù)、計(jì)算矩形的面積即及周長(zhǎng)這3個(gè)成員函數(shù)。答案:class rectanglefloat width;float heigth;public:rectangle(float w, float h)width=w;heigth=h;float area()return width*heigth;float circulm()return 2*(width+heigth);4. 設(shè)計(jì)一個(gè)人的類(lèi),要求包含姓名、身份證號(hào)、年齡、以及人的總數(shù)和所有人的平均年齡這5個(gè)數(shù)據(jù)成員,然后編寫(xiě)一個(gè)測(cè)試程序,輸入n個(gè)人的信息(姓名、身份證號(hào)和年齡),要求輸出這些人的信息和平均年齡。 答案:#include#includeusing namespace std;const int n=3;class Person private: char name20; char id18; int age; public: static int count; /人數(shù) static float aveage; Person(void) Person(const char* names,char *ids,int ages) strcpy(name,names);/初始化姓名 strcpy(id,ids); age = ages;/初始化年齡 aveage+=age; count+; void display() cout姓名:nameendl; cout身份證:idendl; cout年齡:ageendl; friend void ModifyAveage();/修改平均年齡的友元函數(shù);int Person:count = 0;float Person:aveage=0;void ModifyAveage()Person:aveage=Person:aveage/Person:count;void main() int ages,i; char namestr20,idstr18; Person pern; for (i=0;in;i+) coutnamestr; coutidstr; coutages; Person temp(namestr,idstr,ages); peri=temp; ModifyAveage(); for (i=0;in;i+) peri.display(); cout人的數(shù)量:Person:countendl; cout平均年齡:Person:aveageendl;5. 編寫(xiě)一個(gè)圓的類(lèi),再使用派生類(lèi)的機(jī)制,編寫(xiě)一個(gè)圓柱的類(lèi),求每個(gè)類(lèi)都包含具有初始化功能的構(gòu)造函數(shù)和相關(guān)數(shù)據(jù)的輸出函數(shù)。答案:#include #define pi 3.1416using namespace std; class circle protected: float r; float area; public: circle() r=0; circle(float radius)r=radius; void print() area=r*r*pi; coutr=r area=areaendl; ; class column:circle protected: float h; float v; public : column(float radius,float height):circle(radius) h=height; void print() circle:print(); couth=h volume=area*hendl; ; void main() column col (3.0,2.0); col.print(); 6.重載一個(gè)函數(shù)模板,要求它可以返回兩個(gè)值中的較大者,也可以求三個(gè)數(shù)的最大值。答案:/ 求兩個(gè)任意類(lèi)型值中的最大者template inline T const& max (T const& a, T const& b) return a b ? b : a;/ 求3個(gè)任意類(lèi)型值中的最大者template inline T const& max (T const& a, T const& b, T const& c) return :max (:max(a,b), c);7.下面是整型安全數(shù)組類(lèi)的一部分:試完善類(lèi)的定義,使下段程序能夠正常運(yùn)行且不會(huì)出現(xiàn)內(nèi)存泄漏。#include class Arraypublic:Array(int x)count=x;p=new intcount;int & operator (int x)return *(p+x);protected:int count;int *p;答案:#include class Arraypublic:Array(int x); Array(Array &); Array(); void SetAt(int pos, int value); int GetAt(int pos); protected:int count;int *p;Array:Array(int x)count=x;p=new intcount;Array:Array(Array &a)int i;count=a.count;p=new intcount;for (i=0;icount;i+) *(p+i)=*(a.p+i);Array:Array()delete p;void Array:SetAt(int pos, int value)*(p+pos)=value;int Array:GetAt(int pos)return *(p+pos);8、編寫(xiě)類(lèi)String 的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)已知類(lèi)String 的原型為:class Stringpublic:String(const char *str = NULL); / 普通構(gòu)造函數(shù)String(const String &other); / 拷貝構(gòu)造函數(shù) String(void); / 析構(gòu)函數(shù)String & operate =(const String
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 讀書(shū)讓我成長(zhǎng)一本好書(shū)的讀后感(14篇)
- 我家的小動(dòng)物伙伴寫(xiě)物作文(10篇)
- 商業(yè)合作推廣與營(yíng)銷(xiāo)合作協(xié)議
- 2025年鍋爐檢驗(yàn)員資格考試試卷:鍋爐檢驗(yàn)員考試備考資料大全
- 農(nóng)村種植結(jié)構(gòu)調(diào)整與技術(shù)支持協(xié)議
- 2025年特種設(shè)備安全管理人員安全生產(chǎn)法規(guī)與實(shí)操試題匯編
- 2025年高壓電工考試題庫(kù):高壓操作安全規(guī)范綜合應(yīng)用試題
- 2025年電子商務(wù)師(初級(jí))考試試卷:電子商務(wù)法律法規(guī)在電商運(yùn)營(yíng)中的應(yīng)用案例分析
- 酒店住宿客戶(hù)信息保護(hù)協(xié)議
- 現(xiàn)代物流管理系統(tǒng)優(yōu)化研究題
- 專(zhuān)升本計(jì)算機(jī)信息技術(shù)知識(shí)點(diǎn)考點(diǎn)分析總結(jié)復(fù)習(xí)
- 抗腫瘤臨床應(yīng)用管理辦法
- 小學(xué)奧數(shù)課件分享
- 2025中考語(yǔ)文??甲魑难侯}(10大主題+10篇范文)
- 境外投資項(xiàng)目的財(cái)務(wù)評(píng)估方法
- 2025屆高考英語(yǔ)二輪復(fù)習(xí)備考策略課件
- 2025年外賣(mài)平臺(tái)合作配送合同范本
- (北師大版)初中數(shù)學(xué)七年級(jí)下冊(cè) 期末測(cè)試 (含答案)
- 廣西欽州市2023-2024學(xué)年高一下學(xué)期期末考試 英語(yǔ) 含解析
- 技術(shù)標(biāo)編制培訓(xùn)
- 2025廣西壯族自治區(qū)博物館講解員招聘3人高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論