50道C++編程練習(xí)題及解答-c編程例題_第1頁(yè)
50道C++編程練習(xí)題及解答-c編程例題_第2頁(yè)
50道C++編程練習(xí)題及解答-c編程例題_第3頁(yè)
50道C++編程練習(xí)題及解答-c編程例題_第4頁(yè)
50道C++編程練習(xí)題及解答-c編程例題_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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、50道C/C+編程練習(xí)題1#1、輸入3個(gè)數(shù),求最大值intmain()inta,b,c,m;cinabc;m=a;if(bm)m=b;if(cm)m=c;coutm;2、編程序,求方程ax2+bx+c=0的根#include#includeusingnamespacestd;intmain()doublea,b,c,d,x1,x2;cinabc;if(a=0)if(b=0)couterrorn;elsecoutx=-c/bendl;elsed=b*b-4*a*c;if(fabs(d)=1e-6)coutx1=x2=-b/(2*a)1e-6)x1=(-b+sqrt(d)/(2*a);x2=(-b

2、-sqrt(d)/(2*a);coutx1=x1,x2=x2endl;elsecouta;if(a=90)cout=80)cout=70)cout=60)coutD;elsecoutabc;if(a+bc&b+ca&c+ab)cout可以構(gòu)成三角形;elsecouta;max=min=a;s=a;for(i=1;ia;if(amax)max=a;if(amin)min=a;s=s+a;coutmax,min,s/20.0n;cina;m=a;s=a;for(inti=1;ia;s+=a;if(am)m=a;cout平均值:(double)s/n,最大值:mendl;7、輸入若干個(gè)數(shù),輸入-99

3、9表示結(jié)束,求平均值及最大值。#include#include#includeusingnamespacestd;intmain()intn,count,sum,max;doubleave;count=0;cinn;sum=0;max=n;while(n!=-999)sum=sum+n;if(nmax)max=n;count+;cinn;if(count!=0)ave=static_cast(sum)/count;coutsetiosflags(ios:fixed)setprecision(2);cout平均值為:ave最大值為:maxendl;8、求和s=1*1+2*2+3*3+.+100*

4、100intmain()inti,t;doubles=0;for(i=1;i=100;i+)t=i*i;s=s+t;9、印度國(guó)王的獎(jiǎng)勵(lì),求和s=20+21+22+.+263intmain()doublet=1,s=0;for(inti=0;i=63;i+)s=s+t;t=2*t;couts/1.4e8endl;10、求和s=1!+2!+3!+.+10!intmain()inti;longt,s;t=1;s=0;for(i=1;i=1e-7)t=t/i;e=e+t;i=i+1;cout1e-8)pi=pi+t;i=i+2;k=-k;t=double(k)/i;cout4*pi;13、求PI值,P

5、I/2=1+1/3+1/3*2/5+1/3*2/5*3/7+.#include#includeintmain()inti,j;doublepi,t;i=0;j=1;t=1;pi=0;while(t1e-18)pi=pi+t;i=i+1;j=j+2;t=t*i/j;coutsetprecision(17)2*pi;14、輸入20個(gè)數(shù),統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù)。intmain()inta,n=0,m=0,s=0;for(inti=1;ia;if(a0)n+;elseif(a0)m+;elses+;coutnma;while(a!=0)if(a%2=0)n+=a;elsem+=a;cina;co

6、utnm;16、寫一函數(shù),計(jì)算x的y次方(假設(shè)x、y都為正整數(shù))。intpow(intx,inty)ints=1;for(inti=1;i=y;i+)s=s*x;returns;17、求水仙花數(shù)(一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)字本身)intmain()inti,a,b,c;for(i=100;i=999;i+)a=i/100;b=i/10%10;c=i%10;if(i=a*a*a+b*b*b+c*c*c)coutiendl;intmain()inti,a,b,c;for(a=1;a=9;a+)for(b=0;b=9;b+)for(c=0;c=9;c+)i=a*100+b*10+c;if(

7、i=a*a*a+b*b*b+c*c*c)coutiendl;18、編寫一個(gè)函數(shù),確定一個(gè)整數(shù)是否為完全數(shù)(個(gè)數(shù),等于他的因子之和)。用這個(gè)函數(shù)確定和打印1到1000之間的所有完全數(shù)。intperfect(intn)inti,s=1;for(i=2;i=n/2;i+)if(n%i=0)s=s+i;if(s=n)return1;elsereturn0;intmain()intn;for(n=2;n=1000;n+)ifperfect(n)coutnendl;19、寫一函數(shù),求斐波那契數(shù)列的第n項(xiàng)。intfib(intn)inti,f1,f2,f;if(n=1|n=2)return1;f1=1;f2

8、=1;for(i=3;i=n;i+)f=f1+f2;3f1=f2;f2=f;returnf;20、寫一個(gè)函數(shù),取一個(gè)整數(shù)值并返回將此整數(shù)的各數(shù)字反序的數(shù)值intreverse(intn)ints=0;while(n)s=s*10+n%10;n/=10;returns;21、寫一個(gè)函數(shù),將一個(gè)整數(shù)的各位數(shù)字的反序打印voidshow(intn)while(n)coutn%10;n/=10;voidshow(intn)if(n10)coutn;elsecoutn%1010)k*=10;m/=10;while(n)coutn/k=0;j-)coutaj;voidshow(intn)if(n10)co

9、utn;elseshow(n/10);coutn%10;23、求一個(gè)整數(shù)的各位數(shù)之和的函數(shù)intsum(intn)ints=0;while(n)s+=n%10;n/=10;returns;24、寫一函數(shù),判斷某個(gè)數(shù)是否素?cái)?shù),以及求11000之內(nèi)的素?cái)?shù)#include#include#includeusingnamespacestd;boolisprime(intn)floatk=sqrt(float(n);for(inti=2;i=k;i+)if(n%i=0)returnfalse;returntrue;intmain()for(intn=2;n=1000;n+)if(isprime(n)co

10、utsetw(5)n;25、用篩法求11000之內(nèi)的素?cái)?shù)#include#include#include#includeusingnamespacestd;intmain()inti,k,a1001;for(i=2;i=1000;i+)ai=1;floats=sqrt(float(1000);for(i=2;i=s;i+)if(ai=1)k=2*i;while(k=1000)ak=0;k=k+i;for(i=2;i=1000;i+)if(ai=1)coutsetw(5)n)m=m-n;elsen=n-m;returnm;29、求兩個(gè)數(shù)的最小公倍數(shù)intlcm(intm,intn)intt,s;

11、if(mn)t=m;m=n;n=t;s=m;while(s%n!=0)s=s+m;intlcm(intm,intn)returnm*n/gcd(m,n);30、百錢買百雞問(wèn)題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一,百錢買百雞,問(wèn)雞翁、母、雛各幾何?intmain()intcock,hen,chick;for(cock=0;cock=20;cock+)for(hen=0;hen=33;hen+)chick=100-cock-hen;if(5*cock+3*hen+chick/3.0=100)coutsetw(4)cocksetw(4)hensetw(4)chick=a&si=z)count+

12、;i+;coutcount=A&si=Z)si=si+32;coutsendl;33、打印楊輝三角形(帕斯卡三角形),打印10行。#include#includeusingnamespacestd;intmain()inta1010=0;for(inti=0;i10;i+)ai0=1;aii=1;for(inti=1;i10;i+)for(intj=1;ji;j+)aij=ai-1j-1+ai-1j;for(inti=0;i10;i+)for(intj=0;j=i;j+)coutsetw(4)aij;coutendl;34、打印一個(gè)九九乘法表#include#includeusingnames

13、pacestd;intmain()for(intj=1;j=9;j+)for(inti=1;i=j;i+)couti*j=setw(2)i*jJcoutendl;35、擲骰子10000次,統(tǒng)計(jì)得到各點(diǎn)數(shù)的次數(shù)。intmain()inta7=0;srand(time(0);for(inti=1;i=10000;+i)+a1+rand()%6;for(inti=1;i=6;+i)couti:aiendl;36、編寫函數(shù)distance,計(jì)算兩點(diǎn)(x1,y1)和(x2,y2)之間的距離。doubledistance(doublex1,doubley1,doublex2,doubley2)return

14、sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);37、寫一個(gè)程序,進(jìn)行體操評(píng)分,依次輸入10名評(píng)委所評(píng)分?jǐn)?shù),去除一個(gè)最高分和一個(gè)最低分,再算出平均分作為選手的得分。intmain()inti;floatmax,min,s,x;max=0;min=10;s=0;for(i=1;ix;s=s+x;if(xmax)max=x;s=s-min-max;couts/8;#38、寫一函數(shù),將一數(shù)組中的元素反轉(zhuǎn)。voidreverse(inta,intn)for(inti=0;in/2;i+)swap(ai,an-i-1);39、寫一函數(shù),在一個(gè)數(shù)組中找出最大元素的位置intSear

15、chMax(inta,intn)intk=0;for(inti=1;iak)k=i;returnk;40、找出一個(gè)二維數(shù)組中的鞍點(diǎn),即該元素在該行上最大,在該列上最小。41、寫一個(gè)字符串拷貝函數(shù)voidstrcpy(char*p,constchar*q)while(*p+=*q+);char*strcpy(char*str1,constchar*str2)char*p=str1;while(*str1+=*str2+);returnp;42、寫一個(gè)字符串比較函數(shù)intstrcmp(char*str1,constchar*str2)while(*str1&*str2&*str1=*str2)st

16、r1+;str2+;return*str1-*str2;intstrcmp(char*str1,constchar*str2)while(*str1=*str2)if(*str1=0)return0;str1+;str2+;return*str1-*str2;43、寫一個(gè)字符串連接函數(shù)char*strcat(char*str1,char*str2)char*p=str1;while(*str1!=0)str1+;while(*str1+=*str2+);returnp;44、寫一個(gè)求字符串長(zhǎng)度函數(shù)intstrlen(char*str)intn=0;while(*str!=0)n+;str+;r

17、eturnn;45、寫一函數(shù),在一數(shù)組里查找某個(gè)值。intsearch(inta,intn,intkey)for(inti=0;iyearmonthday;for(i=1;i2)s+;couts;48、編寫一個(gè)幫助小學(xué)生學(xué)習(xí)加法的程序,隨機(jī)產(chǎn)生2個(gè)數(shù),讓學(xué)生輸入答案。#include#includeusingnamespacestd;intmain()intx,y,z;srand(time(0);x=rand()%1000;y=rand()%1000;coutx+yz;while(z!=0)while(z!=x+y)coutx錯(cuò)誤!請(qǐng)重做n;coutx+yz;coutV正確!n;x=rand()%1000;y=rand()%1000;coutx+yz;49、從52個(gè)數(shù)里選13個(gè)數(shù)intmain()inti,k,a52,b13;for(i=0;i52;i+)ai=i+1;srand(time(0);for(i=0;i13;i+)k=rand()%(52-i);bi=ak;swap(ak,a51-i);for(i=0;i13;i+)coutbi;#include#include#includeusingnamespacestd;constlongMOD=10000;intmain()intt,t0=time(0);intlen,n=100000;unsignedlonga2

溫馨提示

  • 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)論