c++程序設計(編程題)_第1頁
c++程序設計(編程題)_第2頁
c++程序設計(編程題)_第3頁
c++程序設計(編程題)_第4頁
c++程序設計(編程題)_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、【程序5】題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果xy則將x與y的值進行交換,然后再用x與z進行比較,如果xz則將x與z的值進行交換,這樣能使x最小。程序源代碼:#includestdio.h#includeconio.hmain()intx,y,z,t;scanf(%d%d%d,&x,&y,&z);if(xy)t=x;x=y;y=t;/*交換x,y的值*/if(xz)t=z;z=x;x=t;/*交換x,z的值*/if(yz)t=y;y=z;z=t;/*交換z,y的值*/printf(smalltobig:%d%d

2、%dn,x,y,z);getch();【程序11】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?程序分析:兔子的規律為數列1,1,2,3,5,8,13,21程序源代碼:#includestdio.h#includeconio.hmain()longf1,f2;inti;f1=f2=1;for(i=1;i=20;i+)printf(%12ld%12ld,f1,f2);if(i%2=0)printf(n);/*控制輸出,每行四個*/f1=f1+f2;/*前兩個月加起來賦值給第三個月*/f2=f1+

3、f2;/*前兩個月加起來賦值給第三個月*/getch();【程序12】題目:判斷101-之2間0有0多少個素數,并輸出所有素數。程序分析:判斷素數的方法:用一個數分別去除到這個數,如果能被整除,則表明此數不是素數,反之是素數。2.程序源代碼:【程序13】題目:打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等于該數本身。例如:程序分析:利用.程序源代碼:15是3一個“水仙花數”,因為153的=三1次方5的三次方3的三次方。循環控制個數,每個數分解出個位,十位,百位。/分1解0出0百;位/*/1分0解%出1十0位分%解1出0個;位/*/【程序14】題目:將一個正整數分解

4、質因數。例如:輸入90打,印出90=2*3。*3*5程序分析:對進行分解質因數,應先找到一個最小的質數,然后按下述步驟完成:如果這個質數恰等于,則說明分解質因數的過程已經結束,打印出即可。如果,但能被整除,則應打印出的值,并用除以的商作為新的正整數你重復執行第一步。(3如)果,不能被,整除,則用,+作1為,的值,重復執行第一步。2.程序源代碼:【程序16】題目:輸入兩個正整數和,求其最大公約數和最小公倍數。程序分析:利用輾除法。程序源代碼:交換兩個數,使大數放在上利用輾除法,直到為為止【程序18】題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數字。例如2+22+222+22

5、22+22222(此時共有5個數相加),幾個數相加有鍵盤控制。程序分析:關鍵是計算出每一項的值。程序源代碼:#includestdio.h#includeconio.hmain()inta,n,count=1;longintsn=0,tn=0;printf(pleaseinputaandnn);scanf(%d,%d,&a,&n);printf(a=%d,n=%dn,a,n);while(count=n)tn=tn+a;sn=sn+tn;a=a*10;+count;printf(a+aa+.=%ldn,sn);getch();【程序19】題目:一個數如果恰好等于它的因子之和,這個數就稱為“完數

6、”。例如6=123.編程找出100以0內的所有完數。1.程序分析:請參照程序-上-頁程序14.2.程序源代碼:【程序23】題目:打印出如下圖案(菱形).程序分析:先把圖形分成兩部分來看待,前四行一個規律,后三行一個規律,利用雙重循環,第一層控制行,第二層控制列。程序源代碼:程序24】3求.出.這.個數列的前20項之和。題目:有一分數序列:2/,13/,25/,38/,程序分析:請抓住分子與分母的變化規律程序源代碼:這部分是程序的關鍵,請讀者猜猜的作用【程序5題目:求1+2!+3!+的.和.+20!程序分析:此程序只是把累加變成了累乘程序源代碼:【程序37】題目:對10個數進行排序程序分析:可以

7、利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換下次類推,即用第二個元素與后8個進行比較,并進行交換。程序源代碼:#includestdio.h#includeconio.h#defineN10main()inti,j,min,tem,aN;/*inputdata*/printf(pleaseinputtennum:n);for(i=0;iN;i+)printf(a%d=,i);scanf(%d,&ai);printf(n);for(i=0;iN;i+)printf(%5d,ai);printf(n);/*sorttennum*/for(i=0;iN-1;i+)min=i;fo

8、r(j=i+1;jaj)min=j;tem=ai;ai=amin;amin=tem;/*outputdata*/printf(Aftersortedn);for(i=0;iN;i+)printf(%5d,ai);getch();【程序38】題目:求一個3*3矩陣對角線元素之和程序分析:利用雙重for循環控制輸入二維數組,再將aii累加后輸出。程序源代碼:#includestdio.h#includeconio.h/*如果使用的是TC系列編譯器則可能需要添加下句*/staticvoiddummyfloat(float*x)floaty;dummyfloat(&y);main()floata33,

9、sum=0;inti,j;printf(pleaseinputrectangleelement:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%f,&aij);for(i=0;i3;i+)sum=sum+aii;printf(duijiaoxianheis%6.2f,sum);getch();【程序39】題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。1.程序分析:首先判斷此數是否大于最后一個數,然后再考慮插入中間的數的情況,插入后此元素之后的數,依次后移一個位置。程序源代碼:#includestdio.h#includeconio.hm

10、ain()inta11=1,4,6,9,13,16,19,28,40,100;inttemp1,temp2,number,end,i,j;printf(originalarrayis:n);for(i=0;iend)a10=number;elsefor(i=0;inumber)temp1=ai;ai=number;for(j=i+1;j11;j+)temp2=aj;aj=temp1;temp1=temp2;break;for(i=0;i11;i+)printf(%6d,ai);getch();【程序40】題目:將一個數組逆序輸出。1.程序分析:用第一個與最后一個交換2.程序源代碼:#inclu

11、destdio.h#includeconio.h#defineN5main()intaN=9,6,5,4,1,i,temp;printf(noriginalarray:n);for(i=0;iN;i+)printf(%4d,ai);for(i=0;iN/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;printf(nsortedarray:n);for(i=0;iN;i+)printf(%4d,ai);getch();【程序61】題目:打印出楊輝三角形(要求打印出10行如下圖)1.程序分析:111121133114641151010512.程序源代碼:main()inti

12、,j;inta1010;printf(n);for(i=0;i10;i+)ai0=1;aii=1;for(i=2;i10;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;i10;i+)for(j=0;j=i;j+)printf(%5d,aij);printf(n);=【程序67】題目:輸入數組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數組程序分析:譚浩強的書中答案有問題。2.程序源代碼:main()intnumber10;input(number);max_min(number);output(number);input(number)int

13、number10;inti;for(i=0;i9;i+)scanf(%d,&numberi);scanf(%d,&number9);max_min(array)intarray10;int*max,*min,k,l;int*p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;p*max)max=p;elseif(*p*min)min=p;k=*max;l=*min;*p=array0;array0=l;l=*p;*p=array9;array9=k;k=*p;return;output(array)intarray10;int*p;f

14、or(p=array;parray+9;p+)printf(%d,*p);printf(%dn,array9);【程序68】題目:有n個整數,使其前面各數順序向后移m個位置,最后m個數變成最前面的m個數程序分析:程序源代碼:main()intnumber20,n,m,i;printf(thetotalnumbersis:);scanf(%d,&n);printf(backm:);scanf(%d,&m);for(i=0;in-1;i+)scanf(%d,&numberi);scanf(%d,&numbern-1);move(number,n,m);for(i=0;iarray;p-)*p=*(

15、p-1);*array=array_end;m-;if(m0)move(array,n,m);=【程序70】題目:寫一個函數,求一個字符串的長度,在main函數中輸入字符串,并輸出其長度。1.程序分析:2.程序源代碼:main()intlen;char*str20;printf(pleaseinputastring:n);scanf(%s,str);len=length(str);printf(thestringhas%dcharacters.,len);length(p)char*p;intn;n=0;while(*p!=0)n+;p+;returnn;=【程序79】題目:字符串排序。1.程

16、序分析:2.程序源代碼:main()char*str120,*str220,*str320;charswap();printf(pleaseinputthreestringsn);scanf(%s,str1);scanf(%s,str2);scanf(%s,str3);if(strcmp(str1,str2)0)swap(str1,str2);if(strcmp(str1,str3)0)swap(str1,str3);if(strcmp(str2,str3)0)swap(str2,str3);printf(afterbeingsortedn);printf(%sn%sn%sn,str1,str

17、2,str3);charswap(p1,p2)char*p1,*p2;char*p20;strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);=【程序82】題目:八進制轉換為十進制1.程序分析:2.程序源代碼:main()char*p,s6;intn;p=s;gets(p);n=0;while(*(p)!=0)n=n*8+*p-0;p+;printf(%d,n);【程序83】題目:求07所能組成的奇數個數。1.程序分析:2.程序源代碼:main()longsum=4,s=4;intj;for(j=2;j=8;j+)/*jisplaceofnumber*/printf(

18、n%ld,sum);if(j=2)s*=7;elses*=8;sum+=s;printf(nsum=%ld,sum);【程序84】題目:一個偶數總能表示為兩個素數之和1.程序分析:2.程序源代碼:#includestdio.h#includemath.hmain()inta,b,c,d;scanf(%d,&a);for(b=3;b=a/2;b+=2)for(c=2;csqrt(b)d=a-b;elsebreak;for(c=2;csqrt(d)printf(%d=%d+%dn,a,b,d);【程序85】題目:判斷一個素數能被幾個9整除1.程序分析:2.程序源代碼:main()longintm9=9,sum=9;intzi,n1=1,c9=1;scanf(%d,&zi);while(n1!=0)if(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論