C語言編程題庫_第1頁
C語言編程題庫_第2頁
C語言編程題庫_第3頁
C語言編程題庫_第4頁
C語言編程題庫_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2010年上機(jī)題100題庫1:第1題m個(gè)人的成績存放在score數(shù)組中,請編寫函數(shù)fun,它的功能是:將低于平均分的人作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指定的函數(shù)中。答案:intfun(intscore,intm,intbelow)inti,k=0,aver=0;for(i=0;iVm;i+)aver+=scorei;aver/=m;for(i=0;iVm;i+)if(scoreiVaver)belowk=scorei;k+;returnk;2:第2題請編寫函數(shù)fun,它的功能是:求出1至到100之內(nèi)能北7或者11整除,但不能同時(shí)北7和11整除的所有證書,并將他們放在a所指的數(shù)

2、組中,通過n返回這些數(shù)的個(gè)數(shù)。答案:voidfun(int*a,int*n)inti,j=0;for(i=2;iV1000;i+)if(i%7=0|i%11=0)&i%77!=0)aj+=i;*n=j;3:第3題請編寫函數(shù)voidfun(intx,intpp,int*n),它的功能是:求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過形參n返回。答案:voidfun(intx,intpp,int*n)inti=1,j=0;k=0,*t=pp;for(i=0;iV=x;i+)if(i%2!=0)tj=I;j+;for(i=0;iVj;i+)if(x%ti=

3、0)ppk=ti;k+;*n=k;4:第4題請編寫一個(gè)函數(shù)voidfun(char*tt,intpp),統(tǒng)計(jì)在tt字符中a到z26各字母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)組中。答案:voidfun(char*tt,intpp)inti;for(i=0;iV26;i+)ppi=0;while(*tt)switch(*tt)casea:pp0+;break;caseb:pp1+;break;casec:pp2+;break;cased:pp3+;break;casee:pp4+;break;casef:pp5+;break;caseg:pp6+;break;caseh:pp7+;break;c

4、asei:pp8+;break;casej:pp9+;break;casek:pp10+;break;casel:pp11+;break;casem:pp12+;break;casen:pp12+;break;caseo:pp14+;break;casep:pp15+;break;caseq:pp16+;break;caser:pp17+;break;cases:pp18+;break;caset:pp19+;break;caseu:pp20+;break;casev:pp21+;break;casew:pp22+;break;casex:pp23+;break;casey:pp24+;bre

5、ak;casez:pp25+;break;tt+;5:第5題請編寫一個(gè)函數(shù)voidfun(intm,intk,intxx),該函數(shù)的功能是:將大于整數(shù)m且緊靠m的k各素?cái)?shù)存入xx所指的數(shù)組中。答案:voidfun(intm,intk,intxx)intg=0,I,j,flag=1;for(i=m+1;iVm*m;i+)for(j=0;jVI;j+)if(i%j!=0)flag=1;elseflag=0;break;if(flag=1&j=i)if(k=0)xxg+=i;k-;elsebreak;6:第6題請編寫一個(gè)函數(shù)voidfun(chara,char,intn),其功能是:刪除以各字符串中

6、指定下標(biāo)的字符。其中,a指向原字符串,刪除后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。答案:voidfun(chara,charb,intn)intI,j=0;for(i=0;iVLEN;i+)if(i!=n)bj=ai;j+;bj=0;7:第7題請編寫一個(gè)函數(shù)intfun(int*s,intt,int*k),用來求除數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的儲(chǔ)存單元中。答案:voidfun(int*s,intt,int*k)intI,max;max=s0;for(i=0;iVt;i+)if(simax)max=si;*k=I;8:第8題編寫函數(shù)fun,功能是:根據(jù)以下攻勢計(jì)算s,計(jì)

7、算結(jié)果作為函數(shù)值返回;n通過形參傳入。S=l+l/(l+2)+l/(l+2+3)+.+1/(1+2+3+4+n)答案:floatfun(intn)inti;floats=1.0,t=1.0;for(i=2;iV二n;i+)t=t+i;s=s+1/t;returns;9:第9題編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值帶回。M與n為兩個(gè)正整數(shù),且要求mn。p二m!/n!(m-n)!答案:floatfun(intm,intn)floatp,t=1.0;intI;for(i=1;iV=m;i+)t=t*I;p=t;for(t=1.0,i=1;iV=n;i+)t=t*I;p=p

8、/t;for(t=1.0,i=1;iV=m-n;i+)t=t*I;p=p/t;returnp;10:第10題編寫函數(shù)fun,它的功能是:利用以下的簡單迭代方法求方程cos(x)-x=0的一個(gè)實(shí)根。迭代步驟如下:(1)取x1初值為0.0;(2)x0=x1,把x1的值賦各x0;x1=cos(x0),求出一個(gè)新的x1;若x0-x1的絕對值小于0.000001,則執(zhí)行步驟(5),否則執(zhí)行步驟(2);所求x1就是方程cos(x)-x=0的一個(gè)實(shí)根,作為函數(shù)值返回。程序?qū)⑤敵鰎oot=0.739085。答案:floatfun()floatx1=0.0,x0;dox0=x1;x1=cos(x0);while

9、(fabs(x0-x1)1e-6);returnx1;11:第11題下列程序定義了nXn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請編寫函數(shù)fun(intan),該函數(shù)的功能是:使數(shù)組左下半三角元素中的值全部置成0。答案:intfun(intaN)intI,j;for(i=0;iVN;i+)for(j=0;jV=I;j+)aij=0;12:第12題下列程序定義了nXn的二維數(shù)組,并在主函數(shù)中賦值。請編寫函數(shù)fun,函數(shù)的功能使求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的s。答案:doublefun(intwN)intI,j,k=0;doubles=0.0;for(j=0;jVN;j+)s+=w

10、0j;k+;for(j=0;jVN;j+)s+=wN-1j;k+;for(i=1;iV=N-2;i+)s+=wi0;k+;for(i=l;iV二N-2;i+)s+=wiN-1;k+;returns/=k;13:第13題請編寫一個(gè)函數(shù)voidfun(intttmn,intppn),tt指向一個(gè)m行n列的二維函數(shù)組,求出二維函數(shù)組每列中最小元素,并依次放入pp所指定一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。答案:voidfun(intttMN,intppN)intI,j,min;for(j=0;jVN;j+)min=tt0j;for(i=0;iVM;i+)if(ttijVmin)min=ttij

11、;ppj=min;14:第14題請別寫函數(shù)fun,函數(shù)的功能使求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。答案:intfun(intaMN)intI,j,s=0;for(j=0;jVN;j+)s+=a0j;s+=aM-1j;for(i=1;iV=M-2;i+)s+=ai0;s+=aiN-1;returns;15:第15題請編寫一個(gè)函數(shù)unsignedfun(unsignedw),w使一個(gè)大于10的無符號(hào)整數(shù),若w使n(n2)位的整數(shù),則函數(shù)求出w后n1位的數(shù)作為函數(shù)值返回。答案:unsignedfun(unsignedw)unsignedt,s=0,s1=1,p=0

12、;t=w;while(t10)if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;returns;16:第16題請編寫一個(gè)函數(shù)floatfun(doubleh),函數(shù)的功能使對變量h中的值保留2位小樹,并對第三位進(jìn)行四舍五入(規(guī)定h中的值位正數(shù))。答案:floatfun(floath)longt;floats;h=h*1000;t=(h+5)/10;s=(float)t/100.0;returns;17:第17題請編寫一個(gè)函數(shù)fun(char*s),該函數(shù)的功能使把字符串中的內(nèi)容擬置。答案:voidfun(char*s)charch;intI,m,n;i=0;m=n

13、=strlen(s)-1;while(iV(n+l)/2)ch=si;si=sm;sm=ch;i+;m-;18:第18題編寫程序,實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)答案:voidfun(intarray33)intI,j,temp;for(i=0;iV3;i+)for(j=0;jVI,j+)temp=arrayij;arrayij=arrayji;arrayji=temp;19:第19題編寫函數(shù)fun,該函數(shù)的功能是:從字符中刪除指定的字符,同一字母的大、小寫按不同字符處理。答案:voidfun(chars,intc)inti=0;char*p;p=s;while(*p)if(*p!=c

14、)si=*p;i+;p+;si=0;20:第20題編寫函數(shù)intfun(intlim,intaamax),該函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回所求的素?cái)?shù)的個(gè)數(shù)。答案:intfun(intlim,intaaMAX)intk=0,I,j;for(i=lim;i1;i-)for(j=2;jVi;j+)if(i%j=0)break;elsecontinue;if(j=i)aak=i;k+;returnk+;21:第21題請編寫函數(shù)fun,對長度位7個(gè)字符的字符串,除首尾字符外,將其余5個(gè)字符按ascii碼降序排列。答案:voidfun(char*s,intnum)c

15、hart;intI,j;for(i=1;iVnum-2;i+)for(j=i+1;jVnumT;j+)if(siVsj)t=si;si=sj;sj=t;22:第22題n名學(xué)生的成績已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請編寫函數(shù)fun,它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。答案:doublefun(STREC*h)doublemax;STREC*q=h;max=h-s;doif(q-smax)max=q-s;q=q-next;while(q!=0);returnmax;23:第23題請編寫函數(shù)fun,該函數(shù)的功能是:判斷字符串是否為回文?若是則函數(shù)返回1,主函數(shù)中

16、輸出yes,否則返回0,主函數(shù)中輸出no?;匚氖侵疙樧x和倒讀都是一樣的字符串。答案:intfun(char*str)intI,n=0;fg=1;char*p=str;while(*p)n+;p+;for(i=0;iVn/2;i+)if(stri=strn-1-i);elsefg=0;break;returnfg;24:第24題請編寫一個(gè)函數(shù)fun,它的功能是:將一個(gè)字符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用c語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。答案:longfun(char*p)longs=0,t;inti=0,j,n=strlen(p),k,s1;if(p0=-)i+;for(j=I;jV二nl;j+

17、)t=pj0;s1=10;for(k二j;kVnl;k+)t*=s1;s+=t;if(p0=)return-s;elsereturns;25:第25題請編寫一個(gè)函數(shù)fun,它的功能是:比較兩個(gè)字符串的長度,(不得調(diào)用c語言提供的求字符串長度的函數(shù)),函數(shù)返回較長的字符串。若兩個(gè)字符串長度相同,則返回第一個(gè)字符串。答案:char*fun(char*s,char*t)char*p,*t1=t,*s1=s;intn=0;m=0;while(*s1)n+;s1+;while(*t1)m+;t1+;if(n=m)p=s;elsep=t;returnp;26:第26題請編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)

18、以下公式求x的值(要求滿足精度0.0005,即某項(xiàng)小于0.0005時(shí)停止迭代):x/2=l+l/3+lX2/3X5+1X2X3/3X5X7+1X2X3X4/3X5X7X9+1X2X3XXn/3X5X7X(2n+1)程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14。答案:doublefun(doubleeps)doubles;floatn,t,pi;t=1;pi=0;n=1.0;s=1.0;while(fabs(s)=eps)pi+=s;t=n/(2*n+1);s*=t;n+;pi=pi*2;returnpi;27:第27題請編寫一個(gè)函數(shù)fun,它的功能是:求除1到m之內(nèi)(含m)能北7

19、或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。答案:voidfun(intm,int*a,int*n)intI,j=0;*n=0;for(i=1;iV二m;i+)if(i%7=0|i%11=0)aj=I;j+;*n=j;28:第28題請編寫一個(gè)函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。答案:voidfun(inta,intn,int*max,int*d)intI;*max=a0;*d=0;for(i=0;IVn;i+)if(ai*max)*max=ai;*d=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論