版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1:第1題m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:將低于平均分的人作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指定的函數(shù)中。答案:intfun(intscore,intm,intbelow)inti,k=0,aver=0;for(i=0;im;i+)aver+=scorei;aver/=m;for(i=0;im;i+)if(scoreiaver)belowk=scorei;k+;returnk;2:第2題請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:求出1到100之內(nèi)能北7或者11整除,但不能同時(shí)北7和11整除的所有證書(shū),并將他們放在a所指的數(shù)組中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。答案
2、:voidfun(int*a,int*n)inti,j=0;for(i=2;i1000;i+)if(i%7=0|i%11=0)&i%77!=0)aj+=i;*n=j;3:第3題請(qǐng)編寫(xiě)函數(shù)voidfun(intx,intpp,int*n),它的功能是:求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。答案:voidfun(intx,intppint*n)inti=1,j=0;k=0,*t=pp;for(i=0;i=x;i+)if(i%2!=0)tj=I;j+;for(i=0;ij;i+)if(x%ti=0)ppk=ti;k+;*n=k;4:第4
3、題請(qǐng)編寫(xiě)一個(gè)函數(shù)voidfun(char*tt,intpp),統(tǒng)計(jì)在字符中a到z26各字母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)組中。答案:voidfun(char*tt,intpp)intfor(i=0;i26;i+)ppi=0;while(*tt)switch(*tt)casea:pp0+;break;caseb:pp1+;break;casepp2+;break;cased:pp3+;break;casepp4+;break;casef:pp5+;break;casepp6+;break;caseh:pp7+;break;casepp8+;break;casepp9+;break;cas
4、epp10+;break;casepp11+;break;casem:pp12+;break;casen:pp12+;break;caseo:pp14+;break;casep:pp15+;break;caseq:pp16+;break;casepp17+;break;cases:pp18+;break;casepp19+;break;caseu:pp20+;break;casepp21+;break;casew:pp22+;break;casex:pp23+;break;casepp24+;break;casez:pp25+;break;tt+;5:第5題請(qǐng)編寫(xiě)一個(gè)函數(shù)voidfun(int
5、m,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;im*m;i+)for(j=0;jI;j+)if(i%j!=0)flag=1;elseflag=0;break;if(flag=1&j=i)if(k=0)xxg+=i;k-;elsebreak;6:第6題請(qǐng)編寫(xiě)一個(gè)函數(shù)voidfun(chara,char,intn),其功能是:刪除以各字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪除后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。答案:
6、voidfun(chara,charb,intn)intI,j=0;for(i=0;iLEN;i+)if(i!=n)bj=ai;j+;bj=7:第7題請(qǐng)編寫(xiě)一個(gè)函數(shù)intfun(int*s,intt,int*k),用來(lái)求除數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的儲(chǔ)存單元中。答案:voidfun(int*s,intint*k)intmax;max=s0;for(i=0;it;i+)if(simax)max=si;*k=I;8:第8題編寫(xiě)函數(shù)fun,功能是:根據(jù)以下攻勢(shì)計(jì)算s,計(jì)算結(jié)果作為函數(shù)值返回;n通過(guò)形參傳入。S=1+1/(1+2)+1/(1+2+3)+.+1/(1+2+3+4+n)答案
7、:floatfun(intn)intfloats=1.0,t=1.0;for(i=2;i=n;i+)t=t+i;s=s+1/t;returns;9:第9題編寫(xiě)一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值帶回。M與n為兩個(gè)正整數(shù),且要求mn。p=m!/n!(m-n)!答案:floatfun(intm,intn)floatp,t=1.0;intfor(i=1;i=m;i+)t=t*I;p=t;for(t=1.0,i=1;i=n;i+)t=t*I;p=p/t;for(t=1.0,i=1;i=m-n;i+)t=t*I;p=p/t;returnp;10:第10題編寫(xiě)函數(shù)fun,它的功能
8、是:利用以下的簡(jiǎn)單迭代方法求方程cos(x)-x=0的一個(gè)實(shí)根。迭代步驟如下:(1)取x1初值為0.0;(2)x0=x1,把x1的值賦各x0;(3)x1=cos(x0),求出一個(gè)新的x1;(4)若x0-x1的絕對(duì)值小于0.000001,則執(zhí)行步驟(5),否則執(zhí)行步驟(2);(5)所求x1就是方程cos(x)-x=0的一個(gè)實(shí)根,作為函數(shù)值返回。程序?qū)⑤敵鰎oot=09085。答案:floatfun()floatx1=0.0,x0;dox0=x1;x1=cos(x0);while(fabs(x0-x1)1e-6);returnx1;11:第11題下列程序定義了nn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。
9、請(qǐng)編寫(xiě)函數(shù)fun(intan),該函數(shù)的功能是:使數(shù)組左下半三角元素中的值全部置0。答案:intfun(intaN)intfor(i=0;iN;i+)for(j=0;j=I;j+)aij=0;12:第12題下列程序定義了nn的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能使求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的s。答案:doublefun(intwN)intI,j,k=0;doubles=0.0;for(j=0;jN;j+)s+=w0j;k+;for(j=0;jN;j+)s+=wN-1j;k+;for(i=1;i=N-2;i+)s+=wi0;k+;for(i=1;i=N
10、-2;i+)s+=wiN-1;k+;returns/=k;13:第13題請(qǐng)編寫(xiě)一個(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;jN;j+)min=tt0j;for(i=0;iM;i+)if(ttijmin)min=ttij;ppj=min;14:第14題請(qǐng)別寫(xiě)函數(shù)fun,函數(shù)的功能使求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。答案:intfun
11、(intaMN)intI,j,s=0;for(j=0;jN;j+)s+=a0j;s+=aM-1j;for(i=1;i=M-2;i+)s+=ai0;s+=aiN-1;returns;位15:第15題請(qǐng)編寫(xiě)一個(gè)函數(shù)unsignedfun(unsignedw),w使一個(gè)大于10的無(wú)位符號(hào)整數(shù),若w使n(n2)的整數(shù),則函數(shù)求出w后n1位的數(shù)作為函數(shù)值返回。答案:unsignedfun(unsignedw)unsignedt,s=0,s1=1,p=0;t=w;while(t10)if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;returns;16:第16題請(qǐng)編寫(xiě)一個(gè)函數(shù)
12、floatfun(doubleh),函數(shù)的功能使對(duì)變量h中的值保留2位小樹(shù),并對(duì)第三位進(jìn)行四舍五入(規(guī)定h中的值位正數(shù))。答案:floatfun(floath)longfloats;h=h*1000;t=(h+5)/10;s=(float)t/100.0;returns;17:第17題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun(char*s),該函數(shù)的功能使把字符串中的內(nèi)容擬置。答案:voidfun(char*s)charch;intI,m,n;i=0;m=n=strlen(s)-1;while(i(n+1)/2)ch=si;si=sm;sm=ch;i+;m-;18:第18題編寫(xiě)程序,實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即
13、行列互換)。答案:voidfun(intarray33)intI,j,temp;for(i=0;i3;i+)for(j=0;jI,j+)temp=arrayij;arrayij=arrayji;arrayji=temp;19:第19題編寫(xiě)函數(shù)fun,該函數(shù)的功能是:從字符中刪除指定的字符,同一字母的大、小寫(xiě)按不同字符處理。答案:voidfun(chars,intc)inti=0;char*p;p=s;while(*p)if(*p!=c)si=*p;i+;p+;si=20:第20題編寫(xiě)函數(shù)intfun(intlim,intaamax),該函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中
14、,該函數(shù)返回所求的素?cái)?shù)的個(gè)數(shù)。答案:intfun(intlim,intaaMAX)intk=0,I,j;for(i=lim;i1;i-)for(j=2;ji;j+)if(i%j=0)break;elsecontinue;if(j=i)aak=i;k+;returnk+;21:第21題請(qǐng)編寫(xiě)函數(shù)fun,對(duì)長(zhǎng)度位7個(gè)字符的字符串,除首尾字符外,將其余5個(gè)字符按ascii碼降序排列。答案:voidfun(char*s,intnum)charintfor(i=1;inum-2;i+)for(j=i+1;jnum-1;j+)if(sisj)t=si;si=sj;sj=t;22:第22題n名學(xué)生的成績(jī)已在
15、主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(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題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:判斷字符串是否為回文?若是則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中輸出no。回文是指順讀和倒讀都是一樣的字符串。答案:intfun(char*str)intI,n=0;fg=1;char*p=str;while(*p)
16、n+;p+;for(i=0;in/2;i+)if(stri=strn-1-i);elsefg=0;break;returnfg;24:第24題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:將一個(gè)字符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用c語(yǔ)言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。答案:longfun(char*p)longs=0,t;inti=0,j,n=strlen(p),k,s1;if(p0=-)i+;for(j=I;j=n-1;j+)t=pj-s1=10;for(k=j;kn-1;k+)t*=s1;s+=t;if(p0=-)returns;elsereturns;25:第25題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:比較
17、兩個(gè)字符串的長(zhǎng)度,(不得調(diào)用c語(yǔ)言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若兩個(gè)字符串長(zhǎng)度相同,則返回第一個(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題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求x的值(要求滿(mǎn)足精度0.0005,即某項(xiàng)小于0.0005時(shí)停止迭代):x/2=1+1/3+12/35+123/357+1234/3579+123n/357(2n+1)程序運(yùn)行后,
18、如果輸入精度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題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:求除1到m之內(nèi)(含m)能北7或11整除的所有整數(shù)放在數(shù)組a中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。答案:voidfun(intm,int*a,int*n)intI,j=0;*n=0;for(i=1;i=m;i+)if(i%7=0|i%11=0)aj=I;j+;*n=
19、j;28:第28題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過(guò)形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。答案:voidfun(inta,intn,int*max,int*d)int*max=a0;*d=0;for(i=0;In;i+)if(ai*max)*max=ai;*d=I;29:第29題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。答案:voidfun(cha
20、r*ss)intI,n;n=strlen(ss);for(i=1;in;i+=2)if(ssi=a&ssi=z)ssi=ssi-32;30:第30題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:求除一個(gè)2m整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。答案:intfun(intaM)intI,j,max;max=a00;for(i=0;i2;i+)for(j=0;jM;j+)if(aijmax)max=aij;returnmax;31:第31題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為偶數(shù)、同時(shí)ascii值也為偶數(shù)的字符外,其余的全都刪除;串中剩余字符所形成的一個(gè)新串放在所指的一個(gè)數(shù)組中。
21、答案:voidfun(char*s,chart)intI,j=0,n;n=strlen(s);for(i=0;I,n;i+)if(i%2=0&si%2=0)tj=si;j+;tj=32:第32題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ascii值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個(gè)新串放在所指的一個(gè)數(shù)組中。答案:voidfun(char*s,chart)intI,j=0,n;n=strlen(s);for(i=0;I,n;i+)if(i%2!=0&si%2!=0)tj=si;j+;tj=33:第33題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編
22、寫(xiě)函數(shù)fun,它的功能是:使字符串中尾部的*號(hào)不得多于n個(gè);若多于n個(gè),則刪除多于的*號(hào);若少于或等于n個(gè),則什么也不做,字符串中間和前面的*號(hào)不刪除。答案:voidfun(char*a,intn)inti=0;k=0;char*p,*t;p=t=a;while(*t)t+;t-;while(*t=*)k+;t-;t+;if(kn)while(*p&pt+n)ai=*p;i+;p+;ai=34:第34題學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能使:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中,注意:分?jǐn)?shù)最高的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最高
23、的學(xué)生的人數(shù)。答案:intfun(STREC*a,STREC*b)intI,j=0,n=0,max;max=a0.s;for(i=0;iN;i+)if(ai.smax)max=ai.s;for(i=0;iN;i+)if(ai.s=max)*(b+j)=ai;j+;n+;returnn;35:第35題請(qǐng)編寫(xiě)一個(gè)函數(shù),用來(lái)刪除字符串中的所有空格。答案:voidfun(char*str)inti=0;char*p=str;while(*p)if(*p!=)stri=*p;i+;p+;stri=36:第36題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:將字符串中的前導(dǎo)*號(hào)全部移到
24、字符串的尾部。答案:voidfun(char*a)inti=0,n=0;char*p;p=a;while(*p=*)n+;p+;while(*p)ai=*p;i+;p+;while(n!=0)ai=*;i+;n-;ai=37:第37題某學(xué)生的記錄由學(xué)號(hào)、8門(mén)課程成績(jī)和平均分組成,學(xué)號(hào)和8門(mén)課程的成績(jī)已在主函數(shù)中給出。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:求出該學(xué)生的平均分放在記錄的ave成員中。請(qǐng)自己定義正確的形參。答案:voidfun(STREC*p)doubleav=0.0;intfor(i=0;iN;i+)av+=p-si;av/=N;p-ave=av;38:第38題請(qǐng)編寫(xiě)函數(shù)fun,它的功能是
25、:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。答案:intfun(char*ss,charc)intn=0;while(*ss)if(*ss=c)n+;ss+;returnn;39:第39題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中由n個(gè)整數(shù),要求把下標(biāo)從0到p(p小于等于n1)的數(shù)組元素平移到數(shù)組的最后。答案:voidfun(int*w,intp,intn)intbN,j=0;for(i=0;i=p;i+)bi=wi;j+;for(i=0;i=p;i+)wj=bi;j+;40:第40題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是移動(dòng)字符串中內(nèi)容,移動(dòng)的規(guī)則如下:把第1到第m個(gè)字
26、符,平移到字符串的最后,把第m1到最后的字符移到字符串的前部。答案:voidfun(char*w,intm)charbN;intI,j=0;for(i=0;im;i+)bj=wi;j+;for(i=0;istrlen(w)-m;i+)wi=wi+m;for(j=0;jm;j+)wi=bj;i+;wi=41:第41題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:將m行n列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個(gè)字符串中。答案:voidfun(char(*s)n,char*b)inti,j,k=0;for(j=0;jn;j+)for(i=0;im;i+)bk=*(*(s+i)+j)k+;bk=0;42:
27、第42題下列程序定義了nn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun(intan,intn),該函數(shù)的功能是:將數(shù)組右上半三角元素中的值乘以m。答案:voidfun(intan,intm)intfor(j=0;jn;j+)for(i=0;i=j;i+)aj=aj*m;43:第43題編寫(xiě)一個(gè)函數(shù),從傳入的num個(gè)字符串中找出一個(gè)最長(zhǎng)的一個(gè)字符串,并通過(guò)形參指針max傳回該串地址(用*作為結(jié)束輸入的標(biāo)志)。答案:char*fun(char(*a)81,intnum)intchar*max;max=a0;for(i=0;inum;i+)if(strlen(max)strlen(a)max=a
28、;returnmax;44:第44題編寫(xiě)一個(gè)函數(shù),該函數(shù)可以統(tǒng)計(jì)一個(gè)長(zhǎng)度為2的字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。答案:intfun(char*str,char*substr)intn;char*p,*r;n=0;while(*str)p=str;r=substr;while(*r)if(*r=*p)r+;p+;elsebreak;if(*r=0)n+;str+;returnn;45:第45題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號(hào),串中字母之間的*號(hào)都不刪除。形參n給出了字符串的長(zhǎng)度,形參h給出了字符串中前導(dǎo)*號(hào)的個(gè)數(shù),形參e給出了字符串中
29、最后的*個(gè)數(shù)。在編寫(xiě)時(shí)不得使用c語(yǔ)言給提供得字符串函數(shù)。答案:voidfun(char*a,intn,inth,inte)inti=0;char*p;for(p=a+h;pa+n-e;p+)*(a+i)=*p;i+;*(a+i)=0;46:第46題學(xué)生得記錄由學(xué)號(hào)和成績(jī)組稱(chēng)個(gè),n名大學(xué)生得數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能時(shí):按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。答案:voidfun(streca)intstrecfor(i=0;in-1;i+)for(j=i;sn;j+)if(a.saj.s)t=a;a=aj;aj=t;47:第47題請(qǐng)編寫(xiě)一個(gè)函數(shù)voidfun(
30、char*ss),其功能時(shí):將字符串ss中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(xiě)(若位置上不是字母,則不轉(zhuǎn)換)。答案:voidfun(char*ss)inti,n=0;char*p=ss;while(*p)n+;p+;for(i=0;in;i+)if(ss=a&ss=z)&i%2!=0)ss=ss-32;ss=48:第48題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a,b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。答案:voidfun(inta,intb,long*c)*c=(a/10)*1000+(b/
31、10)*100+(a%10)*10+b%10;49:第49題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中下標(biāo)位偶數(shù)同時(shí)ascii值為奇數(shù)的字符刪除,s中剩余的字符形成的新串放在所指的數(shù)組中。答案:voidfun(char*s,chart)inti,j=0,n=strlen(s);for(i=0;in;i+)if(i%2=0&s%2!=0)elsefj=s;j+;tj=0;50:第50題已知學(xué)生的記錄是由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,n名學(xué)生的數(shù)據(jù)已存入a機(jī)構(gòu)體數(shù)組中。請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:找出成績(jī)最高的學(xué)生記錄,通過(guò)形參返回主函數(shù)(規(guī)定只有一個(gè)最高分)。答案:voidfun(stua,stu
32、*s)inti,max;max=a0.s;for(i=0;in;i+)if(a.smax)max=a.s;*s=a;51:第51題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指的數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k傳回。答案:voidfun(intm,int*k,intxx)intintt=0;for(i=2;im;i+)j=2;while(ji)if(i%j=0)xxt=i;t+;break;j+;*k=t;52:第52題編寫(xiě)一個(gè)函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不使用庫(kù)函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串后。答案:voidfun(char
33、p1,charp2)inti=0,n=0;char*p=p1,*q=p2;while(*p)p+;n+;i=n;while(*p)p1=*q;q+;i+;p1=0;53:第53題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:實(shí)現(xiàn)b=a+a,即把矩陣a加上a的轉(zhuǎn)置,存放在矩陣b中。計(jì)算結(jié)果在main函數(shù)中輸出。答案:voidfun(inta33,intb33)inti,j,at33;for(i=0;i=2;i+)for(j=0;j=2;j+)atj=aj;for(i=0;i3;i+)for(j=0;j3;j+)bj=aj+atj;54:第54題學(xué)生的記錄由學(xué)號(hào)和成績(jī)組稱(chēng)個(gè),n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)
34、體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:把低于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生人數(shù)通過(guò)形參n傳回,平均分通過(guò)函數(shù)值返回。答案:doublefun(strec*a,strec*b,int*n)doubleaver=0.0;inti,j=0;*n=0;for(i=0;in;i+)aver+=a.s;aver/=n;for(i=0;in;i+)if(a.saver)bj=a;(*n)+;j+;returnaver;55:第55題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:將m行n列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的儲(chǔ)存單元中。答案:v
35、oidfun(int(*s)10,int*b,int*n,intmm,intnn)intfor(i=0;imm;i+)for(j=0;jnn;j+)b*n=*(*(s+i)+j);*n=*n+1;56:第56題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:除了尾部的*號(hào)之外,將字母串中其他*號(hào)全部刪除。形參p已指向字符串中最后的一個(gè)字母。不使用c的字符串函數(shù)。答案:voidfun(char*a,char*p)inti=0;char*p=a;while(q=p)if(*q!=*)a=*q;i+;q+;while(*q)a=*q;i+;q+;a=0;57:第57題學(xué)生的記錄是由
36、學(xué)號(hào)和成績(jī)組成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:把指定分?jǐn)?shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人數(shù)由函數(shù)值返回。答案:intfun(strec*a,strec*b,intl,inth)inti,j=0;for(i=0;in;i+)if(a.s=l&a.s=h)bj=a;j+;returnj;58:第58題編寫(xiě)函數(shù)藏服那,它的功能是:求n以?xún)?nèi)(不包括n)同時(shí)能被3與7整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。答案:doublefun(intn)doubles=0.0;intfor(i=1;in;i+)if(i%3=0&i%7=0
37、)s=s+i;s=sqrt(s);returns;59:第59題請(qǐng)別寫(xiě)函數(shù)fun,該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的m個(gè)字符串(每串的長(zhǎng)度不超過(guò)n),按順序合并組成一個(gè)新的字符串。答案:voidfun(charamn,char*b)inti,j,k=0;for(i=0;im;i+)for(j=0;jn;j+)if(*(*(a+i)+j)bk=*(*(a+i)+j)k+;elsebreak;bk=0;60:第60題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。答案:intfun(inta,intn)
38、inti,t,j=0,*p=a;t=p0;for(i=0;i=n;i+)if(t=p)elseaj=t;t=p;j+;if(i=n)aj=t;returnj;61:第61題第請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能使:統(tǒng)計(jì)各年齡段的人數(shù)。N個(gè)年齡通過(guò)調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中;要求函數(shù)把0至9歲年齡段的人數(shù)放在d0中,把10至19歲年齡段的人數(shù)放在d1中,把20至29歲的人數(shù)放在d2中,其余以此類(lèi)推,把100歲(含100以上年齡的人數(shù)都放在d10中。結(jié)果在主函數(shù)中輸出。答案:voidfun(int*a,int*b)intfor(j=0;im;j+)bj=0;for(i=0;in;i+)
39、if(a=0&a=9)b0+=1;elseif(a=10&a=19)b1+=1;elseif(a=20&a=29)b2+=1;elseif(a=30&a=39)b3+=1;elseif(a=40&a=49)b4+=1;elseif(a=50&a=59)b5+=1;elseif(a=60&a=69)b6+=1;elseif(a=70&a=79)b7+=1;elseif(a=80&a=89)b8+=1;elseif(a=90&a=99)b9+=1;elseb10+=1;62:第62題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:統(tǒng)一一含字符串中單詞的個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞
40、由小寫(xiě)字母組成,單詞之間由若干個(gè)空格格開(kāi),一行的開(kāi)始沒(méi)有空格。答案:intfun(char*s)inti,n=0;for(i=0;istrlen(s);i+)if(s=a&s=z&si+1=si+1=0)n+;returnn;63:第63題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:計(jì)算并輸出給定整數(shù)n的所有因子(不包括1與自身)之和。規(guī)定n的值不大00。答案:intfun(intn)ints=0,i;for(i=2;i=n-1;i+)if(n%i=0)s+=i;returns;64:第64題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中ascii值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在所指的數(shù)組
41、中。答案:voidfun(char*s,chart)inti,j=0,n;n=strlen(s);for(i=0;in;i+)if(s%2=0)tj=s;j+;tj=0;65:第65題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩位數(shù)的正整數(shù)a、b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上。答案:voidfun(inta,intb,long*c)*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;66:第66題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:刪除字符串中所有
42、*號(hào)。在編寫(xiě)函數(shù)時(shí),不得使用c語(yǔ)言提供的字符串函數(shù)。答案:voidfun(char*a)inti=0;char*p=a;while(*p)if(*p!=*)a=*p;i+;p+;a=0;67:第67題學(xué)生的記錄時(shí)由學(xué)號(hào)和成績(jī)組成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能時(shí):函數(shù)返回指定學(xué)號(hào)的學(xué)生數(shù)據(jù),指定的學(xué)號(hào)在主函數(shù)中輸入。若沒(méi)找到指定學(xué)號(hào),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回(用于字符串比較的函數(shù)時(shí)strcmp)。答案:strecfun(strec*,char*b)intstrech;for(i=0;in;i+)if(strcmp(a.n
43、um,b)=0)h=a;break;elseh.num=;h.s=-1;returnh;68:第68題請(qǐng)編寫(xiě)函數(shù)fun,其功能時(shí):計(jì)算并輸出下列多項(xiàng)式的值:sn=1+1/1!+1/2!+1/3!+1/4!+1/n!答案:sn=1+1/1!+1/2!+1/3!+1/4!+.+1/n!doublefun(intn)doublet,sn=1.0;intfor(i=1;in;i+)t=1.0;for(j=1;j=i;j+)t*j;sn+=1.0/t;returnsn;69:第69題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能時(shí):求fibonacci數(shù)列中大于的最小的一個(gè)數(shù),結(jié)果由函數(shù)返回。其中fibonacci數(shù)列
44、f(n)的定義為:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)答案:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)intfun(intt)inta=1,b=1,c=0,i;for(i=4;i=t;i+)if(ct)c=a+b;a=b;b=c;elsebreak;returnc;70:第70題編寫(xiě)函數(shù)fun,它的功能時(shí):計(jì)算并輸出下列級(jí)數(shù)和:s=1/1*2+1/2*3+1/n(n+1)答案:doublefun(intn)doubles=0.0;intfor(i=1;i=n;i+)s=s+1.0/(i*(i+1);returns;71:第71題請(qǐng)編寫(xiě)函數(shù)fun
45、,其功能時(shí):將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上,b的十位和個(gè)位整數(shù)依次放在c數(shù)的百位和個(gè)位上。答案:voidfun(inta,intb,long*c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;72:第72題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成新串放在所指數(shù)組中。答案:voidfun(char*s,chart)inti,j=0,n=strlen(s);for(i=0;in;i+)if(i%2!=0)tj=s;j+;tj=0;73:第7
46、3題假定輸入的字符串中只包含字母和*號(hào),請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:除了字符串前導(dǎo)和尾部的*號(hào)之外,將串中其他*號(hào)全部刪除。形參h已指向字符串第一個(gè)字符,形參p已指向字符串中最后一個(gè)字母。在編寫(xiě)程序時(shí),不得使用c語(yǔ)言提供的字符串函數(shù)。答案:voidfun(char*a,char*h,char*p)inti=0;char*q=a;while(qh)a=*q;q+;i+;while(qp)if(*q!=*)a=*q;i+;q+;while(*q)a=*q;i+;q+;a=0;74:第74題學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能時(shí):把分?jǐn)?shù)
47、最低的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中,注意:分?jǐn)?shù)最低的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最低的學(xué)生的人數(shù)。答案:intfun(strec*a,strec*b)inti,j=0,n=0,min;min=a0.s;for(i=0;in;i+)if(a.smin)min=a.s;for(i=0;in;i+)if(a.s=min)*(b+j)=a;j+;n+;returnn;75:第75題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能:將m行n列的二維數(shù)組中的數(shù)據(jù),按列的順學(xué)依次放到一維數(shù)組中。答案:voidfun(int(*s)10,int*b,int*n,intmm,intnn)intfor(j=0;jnn;j+)for
48、(i=0;imm;i+)b*n=*(*(s+i)+j);*n=*n+1;76:第76題請(qǐng)編寫(xiě)函數(shù)fun,其功能時(shí):計(jì)算并輸出當(dāng)x0.97時(shí)下列多項(xiàng)式的值,直到sn-s(n-1)1e-6);returnsum;77:第77題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)ab合并形成一個(gè)整數(shù)放在c中。合并方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上。答案:voidfun(inta,intb,long*c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;78:第78題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字
49、符串中ascii值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在所指的數(shù)組中。答案:voidfun(char*s,chart)inti,j=0,n=strlen(s);for(i=0;in;i+)if(s%2!=0)tj=s;j+;tj=0;79:第79題已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,n名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:找出成績(jī)最低的學(xué)生記錄,通過(guò)形參返回主函數(shù)(規(guī)定只有一個(gè)最低分)。答案:voidfun(stua,stu*s)inti,min;min=a0.s;for(i=0;in;i+)if(a.smin)min=a.s;*s=a;80:第80題程序
50、定義了nn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:使數(shù)組左下半三角元素中的值乘以n。答案:fun(intan,intn)intfor(i=0;in;i+)for(j=0;j=i;j+)aj=aj*n;81:第81題請(qǐng)編寫(xiě)函數(shù)fun,其功能使:將兩個(gè)兩位正整數(shù)ab合并形成一個(gè)整數(shù)放在c中。合并的方式使:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。答案:voidfun(inta,intb,long*c)*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;82:第82題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它
51、的功能使:計(jì)算n門(mén)課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。答案:floatfun(float*a,intn)floatave=0.0;intfor(i=0;in;i+)ave+=a;ave/=n;returnave;83:第83題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能使:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。答案:voidfun(char*a)inti=0;char*p,*q;p=q=a;while(*p)p+;p-;while(*p=*)p-;while(q=p)a=*q;i+;q+;a=0;84:第84題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a
52、b合并形成一個(gè)整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。答案:voidfun(inta,intb,long*c)c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;85:第85題n名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。答案:doublefun(strec*h)doubleaver=0.0;while(h!=null)aver+=h-s;hy=h-next;aver/=n;returnaver;86:
53、第86題請(qǐng)編寫(xiě)函數(shù)fun,計(jì)算并輸出給定10個(gè)數(shù)的方差。答案:doublefun(doublex10)intdoubles=0.0,s1=0.0;for(i=0;i10;i+)s1+=x;s1/=10;for(j=0;j10;j+)s+=(xj-s1)*(xj-s1);s/=10;s=pow(s,0.5);returns;87:第87題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)ab合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上。答案:voidfun(inta,intb,long*c)*c=(a/10)*
54、1000+(a%10)*10+(b%10)*100+b/10;88:第88題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:除了字符串前導(dǎo)的*號(hào)之外,將串中其他*號(hào)全部刪除。在編寫(xiě)函數(shù)亞時(shí),不得使用c語(yǔ)言提供的字符串函數(shù)。答案:voidfun(char*a)inti=0;char*p=a;while(*p&*p=*)a=*p;i+;p+;while(*p)if(*p!=*)a=*p;i+;p+;a=0;89:第89題學(xué)生的記錄是由學(xué)號(hào)和成績(jī)組成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過(guò)形參n傳回,平均分通過(guò)函數(shù)值返回。答案:doublefun(strec*a,strec*b,int*n)doubleaver=0.0;inti,j=0;for(i=0;in;i+)aver+=a.s;aver/=n;for(i=0;in;i+)if(a.s)=aver*(b+j)=a;j+;*n=j;returnaver;90:第90題請(qǐng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45629.2-2025信息技術(shù)數(shù)據(jù)中心設(shè)備和基礎(chǔ)設(shè)施第2部分:建筑結(jié)構(gòu)
- 2026年供應(yīng)鏈金融風(fēng)險(xiǎn)識(shí)別防控課
- 2026年農(nóng)村人居環(huán)境長(zhǎng)效管護(hù)機(jī)制
- 2026湖北黃岡市武穴市公務(wù)員招聘78人備考題庫(kù)及1套參考答案詳解
- 機(jī)器人運(yùn)動(dòng)控制算法開(kāi)發(fā)與驗(yàn)證手冊(cè)
- 2026遼寧大連產(chǎn)業(yè)園社招招聘?jìng)淇碱}庫(kù)有完整答案詳解
- 2026年景區(qū)智慧導(dǎo)覽系統(tǒng)應(yīng)用培訓(xùn)
- 金融工程更全面的創(chuàng)業(yè)板投資標(biāo)尺-創(chuàng)業(yè)板綜合指數(shù)投資價(jià)值分析
- 杭氧股份空分設(shè)備構(gòu)筑基本盤(pán)工業(yè)氣體業(yè)務(wù)成新增長(zhǎng)曲線(xiàn)
- 財(cái)政局綜合股培訓(xùn)課件
- DB 23T 1501-2013 水利堤(岸)坡防護(hù)工程格賓與雷諾護(hù)墊施工技術(shù)規(guī)范
- 《保險(xiǎn)公司主持技巧》課件
- 服裝加工公司火災(zāi)事故應(yīng)急預(yù)案范例(3篇)
- 農(nóng)忙及春節(jié)期間施工進(jìn)度計(jì)劃保證措施
- 新增專(zhuān)業(yè)可行性論證報(bào)告
- 浙江省溫州市小升初英語(yǔ)真題2(含答案)
- 2025屆山東濰坊臨朐九年級(jí)化學(xué)第一學(xué)期期末綜合測(cè)試試題含解析
- FZT 82006-2018 機(jī)織配飾品行業(yè)標(biāo)準(zhǔn)
- 人教版小學(xué)1-4年級(jí)英文詞匯表
- 交警環(huán)衛(wèi)安全知識(shí)講座
- 中國(guó)通史課件
評(píng)論
0/150
提交評(píng)論