c++程序復(fù)習(xí)試題_第1頁
c++程序復(fù)習(xí)試題_第2頁
c++程序復(fù)習(xí)試題_第3頁
c++程序復(fù)習(xí)試題_第4頁
c++程序復(fù)習(xí)試題_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、復(fù)習(xí)試題一、程序填空(3題 30分)1 題號(hào):348/*-【程序填空】-功能:求1-10之間所有奇數(shù)的和。-*/#include void main()/*SPACE*/ 【?】 k=i=0;/*SPACE*/ while(【?】)/*SPACE*/ if(【?】) k+=i;/*SPACE*/ 【?】 /*SPACE*/ cout【?】;答案:=(答案1)=int k,i;=或=int i,k;=(答案2)=i10=或=i=9=(答案3)=i%2=1=或=i%2!=0=(答案4)=i+;=或=i=i+1;= =或=+i;=(答案5)=k2 題號(hào):334/*-【程序填空】-功能:求兩個(gè)數(shù)的最大

2、公約數(shù)-*/#include void main()int m,n,k;cinmn;k=m%n;/*SPACE*/while(【?】)m=n;/*SPACE*/【?】=k;/*SPACE*/k=【?】;/*SPACE*/cout【?】;答案:=(答案1)=k!=0=或=k=(答案2)=n=(答案3)=m%n=(答案4)=n3 題號(hào):342/*-【程序填空】-功能:求FIBONACCI數(shù)列的前N項(xiàng).提示:0,1,1,2,3,5,8,13.-*/#include void main()int n,l1,l2,l3,i;cinn;/*SPACE*/l1=【?】;l2=1;coutl1endll2en

3、dl;/*SPACE*/for(i=3;i=n;【?】) /*SPACE*/l3=【?】;coutl3endl;/*SPACE*/【?】; /更新l1變量/*SPACE*/【?】; /更新l2變量答案:=(答案1)=0=(答案2)=i+=或=+i=或=i+=1=或=i=i+1=或=i=1+i=(答案3)=l1+l2=或=l2+l1=(答案4)=l1=l2=(答案5)=l2=l34 題號(hào):83/*-【程序填空】-功能:在一維數(shù)組中統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù),正數(shù)的個(gè)數(shù)存入 變量C1中,負(fù)數(shù)的個(gè)數(shù)存入變量C2中。-*/#include void main() int a10=1,-2,3,4,-5,6,

4、7,8,-9,10;/*SPACE*/【?】/*SPACE*/for (int i=0;【?】;i+)/*SPACE*/ if(【?】0) c1+;else /*SPACE*/【?】; coutc1 c2;答案:=(答案1)=int c1=0 , c2=0 ;=(答案2)=i10=或=i=9=(答案3)=ai=(答案4)=c2+=或=c2=c2+1=或=+c2=或=c2+=15 題號(hào):352/*-【程序填空】-功能:輸入若干學(xué)生成績(jī),以負(fù)數(shù)或者大于100作為輸入結(jié)束。統(tǒng)計(jì) 100,90-99,80-89,70-79,60-69,0-60各段的人數(shù)。-*/#include void main()

5、int s,n6,i,m;for(i=0;is;while(s=0 & s=100)/*SPACE*/m=【?】;if(m1)m=0;/*SPACE*/【?】;/*SPACE*/【?】;cout 0-59 n0endl;for(i=1;i5;i+)cout(i+5)*10-(i+5)*10+9 niendl;cout 100 n5s6 題號(hào):337/*-【程序填空】-功能: 將N(N100)個(gè)元素的一維數(shù)組循環(huán)向左移位 (即將每一個(gè)元素向前移動(dòng)一位,第一位移到最后一位。-*/#include void main()int a100,n,b,i;cinn;/*SPACE*/for(i=0;iai

6、;/*SPACE*/b=【?】;/*SPACE*/for(【?】)ai-1=ai;/*SPACE*/【?】;for(i=0;i n;i+)coutai;答案:=(答案1)=n=(答案2)=a0=(答案3)=i=1;in;i+=或=i=1;i=n-1;i+=(答案4)=an-1=b=或=ai-1=b7 題號(hào):332/*-【程序填空】-每空2分-功能:以下程序的功能是產(chǎn)生并輸出楊輝三角的前七行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1-*/#includevoid main ( ) int a77; int i,j;

7、 for (i=0;i7;i+) ai0=1; /*SPACE*/ 【?】 for (i=2;i7;i+) for (j=1;ji;j+)/*SPACE*/ aij=【?】; for (i=0;i7;i+) /*SPACE*/ for (j=0;【?】;j+) coutaijt;/*SPACE*/ 【?】 答案:=(答案1)=aii=1;=(答案2)=ai-1j-1+ai-1j=或=ai-1j+ai-1j-1=(答案3)=j=j=或=jj=(答案4)=coutendl;8 題號(hào):336/*-【程序填空】-功能:打印圖形 * * * * * -*/#include void main()char

8、 c6;int i,j;for(i=0;i5;i+)/*SPACE*/【?】;/*SPACE*/for(【?】)/*SPACE*/c【?】=*;/*SPACE*/cout【?】;答案:=(答案1)=c5-i=0=或=c5-i=0=(答案2)=j=0;j5-i;j+=(答案3)=j=(答案4)=cn=或=cendl9 題號(hào):238/*-【程序填空】-功能:函數(shù)func的功能是:使一個(gè)字符串按逆序存放。-*/#include #includevoid func (char str)/*SPACE*/ 【?】 int i,j;/*SPACE*/ for(i=0,【?】;ij;i+,j-) m=str

9、i;/*SPACE*/ 【?】 strj=m; /*SPACE*/ cout【?】endl;void main()char str=12345;func(str);答案:=(答案1)=char m;=(答案2)=j=strlen(str)-1=(答案3)=stri=strj;=(答案4)=str10 題號(hào):146/*-【程序填空】-功能:設(shè)計(jì)一個(gè)求和函數(shù)sum(int n),函數(shù)類型為整型,求1+2+3+.+a的值。要求:在主函數(shù)中輸入a的值,調(diào)用該函數(shù)并輸出和。-*/#include /*SPACE*/【?】;void main() int a,b=0; cout請(qǐng)輸入a:a;/*SPACE

10、*/ 【?】; coutbendl;int sum(int n) int i,k=0; for(i=1; i=n;i+)/*SPACE*/ 【?】;/*SPACE*/ 【?】; 答案:=(答案1)=int sum(int n)或int sum(int)=(答案2)=b=sum(a)=(答案3)=k+=i 或k=k+i=(答案4)=return k11 題號(hào):待定(自行輸入題庫)/*-【程序填空】-功能:用遞歸算法設(shè)計(jì)函數(shù)fa(int n),函數(shù)類型為整型,求1!+2!+3!+.+n!的值。要求:在主函數(shù)中輸入n的值,調(diào)用該函數(shù)并輸出和。-*/#include /*SPACE*/【?】;void

11、 main() int n,sum=0; cout請(qǐng)輸入nn;/*SPACE*/ for(int i=1;i=n;i+) 【?】; coutsumendl;int fa(int n) int f;if(n=0|n=1) f=1;/*SPACE*/ else 【?】;/*SPACE*/【?】; 答案:=(答案1)=int fa(int n)或int fa(int)=( (答案2=sum+=fa(i) 或者sum=sum+fa(i)=(答案3) =( f=fa(n-1)*n=(答案4)=return f12 題號(hào):291/*-【程序填空】-功能:以下程序用來對(duì)從鍵盤上輸入的兩個(gè)字符串進(jìn)行比較, 然

12、后輸出兩個(gè)字符串中第一個(gè)不相同字符的ASCII碼之差。例如:輸入的兩個(gè)字符串分別為abcdef和abceef,則輸出為-1,請(qǐng)?zhí)羁铡?*/#include#include void main() char str150,str250; int i,s; coutn input string 1:n;/*SPACE*/ 【?】 /輸入字符串 coutn input string 2:n; cin.getline(str2,50); i=0;/*SPACE*/ while( 【?】)&(str1i!=0)/*SPACE*/ 【?】;/*SPACE*/ s=【?】; /兩個(gè)字符串ASCII差 cou

13、tsstr1;=(答案2)=str1i=str2i=或=str2i=str1i=(答案3)=i+=或=i=i+1=或=i+=1=或=+i=(答案4)=str1i-str2i=或=str2i-str1i二、程序改錯(cuò)(1題 10分) 1 題號(hào):275/*-【程序改錯(cuò)】-題目: 下列程序是求某班級(jí)的最高成績(jī)、最低成績(jī)和平均成績(jī) 的程序,輸入負(fù)數(shù)表示結(jié)束。-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include void main() float cj,sum,max,min,ave;/*FOUND*/ int n=1; cincj; sum=0;/*FOUND*/ min=ma

14、x=0;/*FOUND*/ while(cj!=0) n+;/*FOUND*/ sum=cj; if(cjmax) max=cj; if(cjcj; ave=sum/n; coutavetmaxt=0)=(答案4)=sum+=cj;=或=sum= sum + cj ;2 題號(hào):290/*-【程序改錯(cuò)】-題目:打印揚(yáng)輝三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include void main()int a55,i,j;for(i=0;i5;i+)/*FOUND*/ai1=1;aii=1;for(j=1;j=

15、i-1;j+)/*FOUND*/aij=ai-1j-1+aij; for(i=0;i5;i+)/*FOUND*/for(j=0;j5;j+)/*FOUND*/coutaji ;coutendl;答案:=(答案1)=ai0=1;=(答案2)=aij=ai-1j-1+ai-1j;=(答案3)=for(j=0;j=i;j+)=(答案4)=coutaij ;3 題號(hào):272/*-【程序改錯(cuò)】-題目:計(jì)算T=1-1/2+2/3-3/4+-29/30-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include void main()/*FOUND*/ int t1,f,k; float

16、t=1;/*FOUND*/f=1;/*FOUND*/for(k=1;k=30;k+)/*FOUND*/t1=(k-1)/k;t+=t1*f;f=-f;coutt;答案:=(答案1)=int f , k ; float t1 , t=1 ;=(答案2)=f=-1;=(答案3)=for(k=2;k=30;k+)=(答案4)=t1=(float)(k-1)/k;=或=t1=(k-1)/(float)k;=或=t1=1.0*(k-1)/k;4 題號(hào):299/*-【程序改錯(cuò)】-題目:在一個(gè)具有N個(gè)數(shù)的數(shù)組中查找并刪除一個(gè)數(shù)K。-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#define

17、n 10#include void main()/*FOUND*/int an,n,k,i,j;/*FOUND*/for(i=1;iaiendl;cink;/*FOUND*/for(i=1;i=n|ai!=k;i+);if(in)for(j=i;jn-1;j+)aj=aj+1;/*FOUND*/for(i=0;in;i+)coutai;elsecoutnot found;for(i=0;in;i+)coutai;答案:=(答案1)=int an,k, i , j ;=(答案2)=for(i=0;ii;i+)=或=for(i=0;n-1=i;i+)=或=for(i=0;iai;=(答案4)=fo

18、r(i=0; in & ai!=k ;i+);=或=for(i=0; i=i & ai!=k ;i+);=或=for(i=0; ni & ai!=k ;i+);=(答案5)=for(i=0;ii;i+)=或=for(i=0;n-2=i;i+)=或=for(i=0;i=n-2;i+)5 題號(hào):286/*-【程序改錯(cuò)】-題目:在100,5000之間打印出各位數(shù)字和為5的所有整數(shù)的個(gè)數(shù).-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include void main() int a,b,c,d,k,i; k=0; for(i=104;i=500;i+) /*FOUND*/ a=i%

19、100; b=(i-a*100)/10; c=i-a*100-b*10; /*FOUND*/ if(a+b+c5) k+; for(i=1000;i=5000;i+) a=i/1000; b=(i-a*1000)/100; /*FOUND*/ c=(i-A*1000-b*100)/100; d=i-a*1000-b*100-c*10;/*FOUND*/ if(a+b+c=5) k+;coutk;答案:=(答案1)=a=i/100;=(答案2)=if( a + b + c =5) k+;=(答案3)=c=(i-a*1000-b*100)/10;=(答案4)=if( a + b + c + d =

20、5) k+;三、程序設(shè)計(jì)(1題 10分)1 題號(hào):269/*-【程序設(shè)計(jì)】-題目: 找出1-200之間的完數(shù)及個(gè)數(shù) n(完數(shù)是一個(gè)數(shù)的因 子之和是這個(gè)數(shù)本身。例如6=1+2+3)。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它 函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號(hào)中填入所編 寫的若干語句。-*/#include #include #include void writeinfile(int n);void main()int m,n,k,s,l;/*Program*/答案:-n=0;for(m=1;m=200;m+)s=1;for(l=2;lm;l+)if(m%l=0)s+=l;if(m

21、=s)n+;coutm;-/* End */writeinfile(n);void writeinfile(int n)fstream myfile;myfile.open(f.txt,ios:out);myfilenendl;myfile.close();2 題號(hào):128/*-【程序設(shè)計(jì)】-題目:求1至200之間的所有質(zhì)數(shù),將質(zhì)數(shù)和存入變量 sum 中.-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它 函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號(hào)中填入所編 寫的若干語句。-*/# include # include # include void wwjt(int o);void main()

22、int N,m,sum=0; N = 200 ; cout 1至200之間的所有質(zhì)數(shù)是:endl;/*Program*/答案:- for (m=2; m=N; m+) int i,tmp=(int)sqrt(m); for (i=2; itmp) cout m; sum += m; -/* End */ wwjt(sum); void wwjt(int o) fstream myfile; myfile.open(out.txt,ios:out); myfileoendl; myfile.close();3 題號(hào):267/*-【程序設(shè)計(jì)】-題目: 打印水仙花數(shù)及個(gè)數(shù) n (水仙花數(shù)是三位數(shù),每

23、 位數(shù)字的立方和等于這個(gè)數(shù)本身示例見圖1)。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它 函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號(hào)中填入所編 寫的若干語句。-*/#include #include #include void writeinfile(int n);void main() int m,n=0,a,b,c;/*Program*/答案:-for(m=100;m=999;m+)a=m/100;b=m%100/10;c=m%100%10;if(m=a*a*a+b*b*b+c*c*c)coutmn;n+;-/* End */ writeinfile(n);void writeinfi

24、le(int n) fstream myfile; myfile.open(f.txt,ios:out); myfilenendl; myfile.close();4 題號(hào):266/*-【程序設(shè)計(jì)】-題目: 已知10個(gè)數(shù)求最大值及最小值以及它們的差。例如 輸入8,92,7,8,1,56,37,23,25,26則輸出 max=92,min=1,ca=91。-注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它 函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號(hào)中填入所編 寫的若干語句。-*/#include #include #include void writeinfile(int max,int min,int ca);void main()int a =8,92,7,8,1,56,37,23,25,26,max,min,ca,i;/*Program*/答案:-max=min=a0;for(i=0;i

溫馨提示

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