


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1: 第 1 題 m 個人的成績存放在 score 數(shù)組中,請編寫函數(shù)fun, 它的功能是:將低于平均分的人作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在 below 所指定的函數(shù)中。答案:int fun(int score,int m,int below)int i,k=0,aver=0;for(i=0;i v m;i+)aver+=scorei;aver/=m;for(i=0;i v m;i+)if(scorei v aver)belowk=scorei;k+;return k;2:第2題 請編寫函數(shù)fun,它的功能是:求出1到100之內(nèi)能北7或者11整除,但不能同 時北 7 和 11 整除的所有
2、證書,并將他們放在 a 所指的數(shù)組中,通過 n 返回這些數(shù)的個數(shù)。 答案:void fun(int *a, int *n)int i,j=0;for(i=2;i v 1000;i+)if (i%7=0 | i%11=0) && i%77!=0)aj+=i;*n=j;3: 第 3 題 請編寫函數(shù) void fun(int x,int pp,int *n), 它的功能是: 求出能整除 x 且不是偶數(shù)的 各整數(shù),并按從小到大的順序放在 pp 所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參 n 返回。 答案:void fun(int x, int pp , int *n)int i=1,j=0;
3、k=0,*t=pp;for(i=0;i v =x;i+)if(i%2!=0)tj=I;j+;for(i=0;i v j;i+)if(x%ti=0)ppk=ti;k+;*n=k;4: 第 4 題 請編寫一個函數(shù) void fun(char *tt,int pp), 統(tǒng)計在 tt 字符中 "a" 到 "z"26 各字母各自 出現(xiàn)的次數(shù),并依次放在 pp 所指的數(shù)組中。答案:void fun(char *tt, int pp)int i;for (i=0;i v 26;i+)ppi=0;while (*tt)switch (*tt)case a' :
4、pp0+;break;case b': pp1+;break;case c' : pp2+;break;case d': pp3+;break;case e' : pp4+;break;case f': pp5+;break;case g': pp6+;break;case h': pp7+;break;case i': pp8+;break;case j': pp9+;break;case k': pp10+;break;case l': pp11+;break;case m': pp12+;br
5、eak;case n': pp12+;break;case o': pp14+;break;case p': pp15+;break;case q': pp16+;break;case r': pp17+;break;case s' : pp18+;break;case t': pp19+;break;case u': pp20+;break;case v': pp21+;break;case w': pp22+;break;case x': pp23+;break;case y': pp24+;b
6、reak;case z' : pp25+;break;tt+;5: 第 5 題 請編寫一個函數(shù) void fun(int m,int k,int xx), 該函數(shù)的功能是: 將大于整數(shù) m 且緊 靠 m 的 k 各素數(shù)存入 xx 所指的數(shù)組中。答案:void fun(int m, int k, int xx)int g=0,I,j,flag=1;for(i=m+1;i v m*m;i+)for(j=0;j v I;j+)if(i%j!=0)flag=1;elseflag=0; break;if (flag=1 && j>=i)if (k>=0)xxg+=i;
7、k-;elsebreak;6:第6題 請編寫一個函數(shù) void fun(char a,char,int n),其功能是:刪除以各字符串中指定 下標(biāo)的字符。其中, a 指向原字符串,刪除后的字符串存放在 b 所指的數(shù)組中, n 中存放指 定的下標(biāo)。答案:void fun(char a,char b, int n)int I,j=0;for (i=0;i v LEN;i+)if (i!=n)bj=ai;j+;bj= 0' ;7: 第 7 題 請編寫一個函數(shù) int fun(int *s,int t,int *k), 用來求除數(shù)組的最大元素在數(shù)組中的下 標(biāo)并存放在 k 所指的儲存單元中。答案
8、:void fun (int *s, int t, int *k)int I, max;max=s0;for(i=0;i v t;i+)if (si>max)max=si;*k=I;8:第8題編寫函數(shù)fun,功能是:根據(jù)以下攻勢計算s,計算結(jié)果作為函數(shù)值返回;n通過形參傳入。S=1 + 1/(1+2)+1/(1+2+3)+ .+1心+2+3+4+ +n)答案:float fun (int n)int i;float s=1.0, t=1.0;for(i=2;i v =n;i+)t=t+i;s=s+1/t;return s;9:第9題 編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求p的值,
9、結(jié)果由函數(shù)值帶回。M與n為兩個正整數(shù),且要求m>n。p=m!/n!(m-n)!答案:float fun(int m, int n)float p,t=1.0;int I;for (i=1;i v =m;i+)t=t*I;p=t;for(t=1.0,i=1;i v =n;i+)t=t*I;p=p/t;for(t=1.0,i=1;i v =m-n;i+)t=t*I;p=p/t;return p;10: 第 10 題 編寫函數(shù) fun, 它的功能是:利用以下的簡單迭代方法求方程cos(x)-x=0 的一個實(shí)根。迭代步驟如下:(1)取x1初值為0.0;(2)x0=x1,把x1的值賦各x0;(3)
10、 x1=cos(x0), 求出一個新的 x1;(4) 若 x0-x1 的絕對值小于 0.000001,則執(zhí)行步驟 (5),否則執(zhí)行步驟 (2);(5) 所求 x1 就是方程 cos(x)-x=0 的一個實(shí)根,作為函數(shù)值返回。程序?qū)⑤敵?root=0.739085 。答案:float fun()float x1=0.0,x0;dox0=x1;x1=cos(x0);while(fabs(x0-x1)>1e-6);return x1;11:第11題 下列程序定義了n x n的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù) fun(intan), 該函數(shù)的功能是:使數(shù)組左下半三角元素中的值全部置成0
11、。答案:int fun(int aN)int I,j;for(i=0;i v N;i+)for(j=0;j v =I;j+)aij=0;12:第12題下列程序定義了nxn的二維數(shù)組,并在主函數(shù)中賦值。請編寫函數(shù)fun,函數(shù)的功能使求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的s。答案:double fun(int wN)int I,j,k=0;double s=0.0;for(j=0;j v N;j+)s+=w0j;k+;for(j=0;j v N;j+)s+=wN-1j;k+;for(i=1;i v =N-2;i+)s+=wi0;k+;for(i=1;i v =N-2;i+)s+=wi
12、N-1;k+;return s/=k;13:第13題 請編寫一個函數(shù)void fun(int ttmn,int ppn),tt指向一個 m行n列的二維函數(shù)組,求出二維函數(shù)組每列中最小元素,并依次放入pp所指定一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。答案:void fun(int ttMN, int ppN)int I,j,min;for(j=0;j v N;j+)min=tt0j;for(i=0;i v M;i+)if (ttij v min)min=ttij;ppj=min;14:第14題 請別寫函數(shù)fun,函數(shù)的功能使求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。 二維數(shù)組中的值在主函數(shù)中
13、賦予。答案:int fun(int aMN)int I,j,s=0;for(j=0;j v N;j+)s+=a0j;s+=aM-1j;for(i=1;i v =M-2;i+)s+=ai0;s+=aiN-1;return s;15: 第 15題 請編寫一個函數(shù) unsigned fun(unsigned w),w 使一個大于 1 0的無符號整數(shù), 若 w 使n(n2)位的整數(shù),則函數(shù)求出 w后n 1位的數(shù)作為函數(shù)值返回。答案:unsigned fun(unsigned w)unsigned t,s=0,s1=1,p=0;t=w;while(t>10)if(t/10)p=t%10;s=s+p
14、*s1;s1=s1*10;t=t/10;return s;16:第16題 請編寫一個函數(shù)float fun (double h),函數(shù)的功能使對變量h中的值保留2位小樹,并對第三位進(jìn)行四舍五入(規(guī)定 h 中的值位正數(shù) )。答案:float fun(float h)long t;float s;h=h*1000;t=(h+5)/10;s=(float)t/100.0;return s;17: 第 17 題 請編寫一個函數(shù) fun(char *s) ,該函數(shù)的功能使把字符串中的內(nèi)容擬置。 答案: void fun(char *s)char ch;int I,m,n;i=0;m=n=strlen(s
15、)-1;while(i v (n +1)/2)ch=si;si=sm;sm=ch;i+;m-;18: 第 18 題 編寫程序,實(shí)現(xiàn)矩陣 (3 行 3 列 )的轉(zhuǎn)置 (即行列互換 )。 答案:void fun(int array33)int I,j,temp;for(i=0;i v 3;i+)for(j=0;j v I,j+)temp=arrayij; arrayij=arrayji;arrayji=temp;19: 第 19 題 編寫函數(shù) fun, 該函數(shù)的功能是:從字符中刪除指定的字符,同一字母的大、小 寫按不同字符處理。答案:void fun(char s,int c)int i=0;ch
16、ar *p;p=s; while(*p)if(*p!=c)si=*p;i+;p+;si= 0'20: 第 20 題 編寫函數(shù) int fun(int lim,int aamax), 該函數(shù)的功能是求出小于或等于 lim 的所有 素數(shù)并放在 aa 數(shù)組中,該函數(shù)返回所求的素數(shù)的個數(shù)。答案:int fun(int lim, int aaMAX)int k=0,I,j;for(i=lim;i>1;i-)for(j=2;j v i;j+)if(i%j=0)break;else continue;if(j>=i)aak=i;k+;return k+;21:第21題 請編寫函數(shù)fun,
17、對長度位7個字符的字符串,除首尾字符外,將其余 5個字符 按 ascii 碼降序排列。答案:void fun(char *s,int num)char t;int I,j;for(i=1;i v num_2;i+)for(j=i+1;j v num_1;j+)if(si v sj)t=si;si=sj;sj=t;22: 第 22 題 n 名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中, h 指向鏈表的 頭節(jié)點(diǎn)。請編寫函數(shù)fun,它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。答案:double fun(STREC *h)double max;STREC *q=h;max=h->s;do
18、if(q->s>max)max=q->s;q=q->next;while(q!=0);return max;23:第23題請編寫函數(shù)fun,該函數(shù)的功能是:判斷字符串是否為回文?若是則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中輸出no。回文是指順讀和倒讀都是一樣的字符串。 答案:int fun(char *str)int I,n=0;fg=1;char *p=str;while (*p)n+;p+;for(i=0;i v n/2;i+)if (stri=strn-1-i);elsefg=0;break;return fg;24: 第 24 題 請編寫一個函數(shù)
19、fun ,它的功能是:將一個字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用 c語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù) )。答案:long fun (char *p)long s=0,t;int i=0,j,n=strlen(p),k,s1;if(p0= -' )i+;for(j=I;j v =n-1;j+)t=pj- 0's1=10;for(k=j;k v n-1;k+)t*=s1;s+=t;if(p0= -' )return - s;elsereturn s;25:第25題 請編寫一個函數(shù)fun,它的功能是:比較兩個字符串的長度,(不得調(diào)用c語言提供的求字符串長度的函數(shù) ),函數(shù)返回較長
20、的字符串。若兩個字符串長度相同,則返回第 一個字符串。答案:char *fun(char *s,char *t)char *p,*t1=t,*s1=s;int n=0;m=0;while (*s1)n+;s1+;while(*t1)m+;t1+;if(n>=m)p=s;elsep=t;return p;26:第26題 請編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求x的值(要求滿足精度0.0005, 即某項(xiàng)小于 0.0005 時停止迭代 ) :x/2=1+1/3+1 X 2/3X 5+1 X 2X 3/3X 5X 7+1 X 2X 3X 4/3X 5X 7X 9+ +1 X 2X 3x-
21、x n/3X 5X 7 X (2n +1)程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14。答案:double fun(double eps)double s;float n,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;return pi;27:第27題請編寫一個函數(shù)fun,它的功能是:求除1到m之內(nèi)洽m)能北7或11整除的所 有整數(shù)放在數(shù)組 a中,通過n返回這些數(shù)的個數(shù)。答案:void fun(int m, int *a, int *n)int I,j=0; *n
22、=0;for(i=1;i v =m;i+)if (i%7=0 | i%11 =0)aj=I;j+;*n=j;28: 第 28 題 請編寫一個函數(shù) fun ,它的功能是:找出一維整型數(shù)組元素中最大的值和它所 在的下標(biāo), 最大的值和它所在的下標(biāo)通過形參傳回。 數(shù)組元素中的值已在主函數(shù)中賦予。 函數(shù)中 x 是數(shù)組名, n 是 x 中的數(shù)據(jù)個數(shù), max 存放最大值, index 存放最大值所在元素的 下標(biāo)。答案:void fun (int a,int n, int *max, int *d) int I;*max=a0;*d=0;for(i=0;l v n;i+)if(ai>*max)*max
23、=ai;*d=l;29:第29題請編寫一個函數(shù)fun,它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上 的字母轉(zhuǎn)換為大寫 (若該位置上不是字母,則不轉(zhuǎn)換)。答案:void fun(char *ss)int l,n;n=strlen(ss);for(i=1;i v n;i+=2)if(ssi>= a' && ssi v = z')ssi=ssi-32;30:第30題請編寫一個函數(shù)fun,它的功能是:求除一個2x m整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。答案:int fun(int aM)int l,j,max;max=a00;for(i=0;i
24、 v 2;i+)for(j=0;j v M;j+)if(aij>max) max=aij;return max;31:第31題 請編寫函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為偶數(shù)、同時ascii值也為偶數(shù)的字符外, 其余的全都刪除;串中剩余字符所形成的一個新串放在 t 所指的一個數(shù) 組中。答案:void fun(char *s,char t)int I,j=0,n;n=strlen(s);for(i=0;I,n;i+) if(i%2=0&&si%2=0)tj=si;j+;tj= 0' ;32:第32題 請編寫函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為
25、奇數(shù)、同時ascii值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個新串放在t 所指的一個數(shù)組中。答案:void fun(char *s,char t)int I,j=0,n;n=strlen(s);for(i=0;I,n;i+) if(i%2!=0&&si%2!=0)tj=si;j+;tj= 0' ;33:第33題 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:使字符串中尾部的*號不得多于n個;若多于n個,則刪除多于的*號;若少于或等于n個,則什么 也不做,字符串中間和前面的 * 號不刪除。答案:void fun(char *a
26、,int n)int i=0;k=0;char *p, *t;p=t=a;while (*t)t+;t-;while(*t= *' )k+;t-;t+;if(k>n)while (*p&&p v t+n)ai=*p;i+;p+;ai= 0'34:第34題 學(xué)生的記錄由學(xué)號和成績組成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能使:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中,注意:分?jǐn)?shù)最高的學(xué)生可能不止一個,函數(shù)返回分?jǐn)?shù)最高的學(xué)生的人數(shù)。答案:int fun (STREC *a, STREC *b) int I,j=0,n=0, ma
27、x;max=a0.s;for(i=0;i v N;i+)if(ai.s>max)max=ai.s;for(i=0;i v N;i+)if(ai.s=max)*(b+j)=ai;j+;n+;return n;35: 第 35 題 請編寫一個函數(shù),用來刪除字符串中的所有空格。答案:void fun(char *str)int i=0;char *p=str;while (*p)if(*p!= ' )stri=*p;i+;p+;stri= 0' ;36:第36題 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串中的前導(dǎo) *號全部移到字符串的尾部。答案:
28、void fun(char *a)int i=0,n=0;char *p;p=a;while (*p= *')n+;p+;while (*p)ai=*p;i+;p+;while(n!=0)ai=*'i+;n-;ai= 0' ;37: 第 37 題 某學(xué)生的記錄由學(xué)號、 8門課程成績和平均分組成,學(xué)號和 8門課程的成績已 在主函數(shù)中給出。請編寫函數(shù)fun,它的功能是:求出該學(xué)生的平均分放在記錄的ave成員中。請自己定義正確的形參。答案:void fun(STREC *p)double av=0.0;int i:for(i=0;i v N;i+)av+=p->si;a
29、v/=N;p->ave=av;38:第38題請編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個數(shù),并返回此值。答案:int fun(char *ss, char c)int n=0;while (*ss)if(*ss=c)n+;ss+;return n;39:第39題 請編寫函數(shù)fun,該函數(shù)的功能是:移動一維數(shù)組中的內(nèi)容,若數(shù)組中由n個整數(shù),要求把下標(biāo)從 0到p(p小于等于n 1)的數(shù)組元素平移到數(shù)組的最后。答案:void fun(int *w, int p, int n)int bN, i, j=0;for(i=0;i v =p;i+)bi=wi;j+;for(i=0;i
30、 v =p;i+)wj=bi;j+;40:第40題 請編寫函數(shù)fun,該函數(shù)的功能是移動字符串中內(nèi)容,移動的規(guī)則如下:把第1 到第 m 個字符,平移到字符串的最后,把第m1 到最后的字符移到字符串的前部。答案:void fun(char *w,int m)char bN;int I,j=0;for(i=0;i v m;i+)bj=wi;j+;for (i=0;i v strlen(w)-m;i+)wi=wi+m;for(j=0;j v m;j+)wi=bj;i+;wi= 0'41:第41題請編寫函數(shù)fun,該函數(shù)的功能是:將 m行n列的二維數(shù)組中的字符數(shù)據(jù),按 列的順序依次放到一個字符
31、串中。答案:void fun(char (*s)n,char *b)int i,j,k=0;for(j=0;j v n;j+)for(i=0;i v m;i+)bk=*(*(s+i)+j)k+;bk= 0'42:第42題 下列程序定義了 nx n的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun(intan,int n), 該函數(shù)的功能是:將數(shù)組右上半三角元素中的值乘以 m。答案:void fun(int an,int m)int i,j;for(j=0;j v n;j+)for(i=0;i v =j;i+)aj=aj*m;43: 第 43 題 編寫一個函數(shù),從傳入的 num 個字符串
32、中找出一個最長的一個字符串,并通 過形參指針 max 傳回該串地址 (用* 作為結(jié)束輸入的標(biāo)志 )。答案:char *fun(char (*a)81,int num)int i;char *max;max=a0;for(i=0;i v num;i+)if(strlen(max) v strlen(a)max=a;return max;44: 第 44 題 編寫一個函數(shù), 該函數(shù)可以統(tǒng)計一個長度為 2 的字符串在另一個字符串中出現(xiàn) 的次數(shù)。答案:int fun(char *str,char *substr)int n;char *p,*r;n=0;while(*str)p=str;r=subst
33、r;while(*r)if(*r=*p)r+;p+;elsebreak;if(*r= 0' )n+;str+;return n;45:第45題假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的 *號,串中字母之間的 *號都不刪除。 形參 n 給出了字符串的長度, 參 h給出了字符串中前導(dǎo) *號的個數(shù),形參 e 給出了字符串中最后的 *個數(shù)。在編寫時不得使用c語言給提供得字符串函數(shù)。答案:void fun(char *a,int n,int h,int e)int i=0;char *p;for(p=a+h;p v a+n_e;p+)*(a+i)=
34、*p;i+;*(a+i)= 0'46:第46題 學(xué)生得記錄由學(xué)號和成績組稱個,n名大學(xué)生得數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能時:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。答案:void fun(strec a)int i,j;strec t;for(i=0;i v n-1;i+)for(j=i;s v n;j+)if(a.sv aj.s)t=a;a=aj;aj=t; 47:第47題 請編寫一個函數(shù) void fun (char *ss),其功能時:將字符串ss中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若位置上不是字母,則不轉(zhuǎn)換)。答案:void fun(char
35、*ss)int i,n=0;char *p=ss;while(*p)n+;p+;for (i=0;i v n;i+)if (ss=a'&ssv=z')&i%2!=0)ss=ss-32;ss=0'48:第48題 請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a,b合并成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在 c 數(shù)的百位和個位上。答案:void fun(int a,int b,long *c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;49:第49題
36、請編寫函數(shù)fun,其功能是:將s所指字符串中下標(biāo)位偶數(shù)同時ascii值為奇數(shù)的字符刪除,s中剩余的字符形成的新串放在t所指的數(shù)組中。答案:void fun(char *s,char t)int i,j=0,n=strlen(s);for(i=0;i v n;i+)if(i%2=0&s%2!=0)elsefj=s;j+;tj= 0' ;50:第50題 已知學(xué)生的記錄是由學(xué)號和學(xué)習(xí)成績構(gòu)成,n名學(xué)生的數(shù)據(jù)已存入a機(jī)構(gòu)體數(shù)組中。請編寫函數(shù)fun,該函數(shù)的功能是:找出成績最高的學(xué)生記錄,通過形參返回主函數(shù) (規(guī)定只有一個最高分 )。答案:void fun(stu a,stu *s)in
37、t i,max;max=a0.s;for (i=0;i v n;i+)if(a.s>max)max=a.s;*s=a;51:第51題請編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素數(shù)存入xx所指的數(shù)組中,非素數(shù)的個數(shù)通過k傳回。答案:void fun(int m,int *k,int xx)int i,j;int t=0;for(i=2;i v m;i+)j=2;while(j v i)if(i%j=0)xxt=i;t+;break;j+;*k=t;52:第52題編寫一個函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個字符串的連接(不使用庫函數(shù)strcat),即把 p2 所指的字符串連接到 p1
38、 所指的字符串后。答案:void fun(char p1,char p2)int i=0,n=0;char *p=p1,*q=p2;while (*p)p+;n+;i=n;while(*p)p1=*q;q+;i+;p1=0'53:第53題請編寫函數(shù)fun,該函數(shù)的功能是:實(shí)現(xiàn)b=a+a,即把矩陣a加上a的轉(zhuǎn)置,存放在矩陣 b 中。計算結(jié)果在 main 函數(shù)中輸出。答案:void fun(int a33,int b33)int i,j,at33;for(i=0;i v =2;i+)for(j=0;j v =2;j+)atj=aj;for(i=0;i v 3;i+)for(j=0;j v
39、3;j+)bj=aj+atj;54:第54題學(xué)生的記錄由學(xué)號和成績組稱個,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:把低于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生人數(shù)通過形參 n 傳回,平均分通過函數(shù)值返回。答案:double fun(strec *a, strec *b,int *n)double aver=0.0;int i,j=0;*n=0;for (i=0;i v n;i+)aver+=a.s;aver/=n;for(i=0;i v n;i+)if(a.sv aver)bj=a;(*n)+;j+; return aver;55:第55題請編
40、寫函數(shù)fun,該函數(shù)的功能是:將m行n列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個數(shù)存放在形參n所指的儲存單元中。答案:void fun(int(*s)10,int *b,int *n,int mm,int nn)int i,j;for(i=0;i v mm;i+)for(j=0;j v nn;j+) b*n=*(*(s+i)+j);*n=*n+1;56:第56題假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:除了尾部的*號之外,將字母串中其他*號全部刪除。形參p已指向字符串中最后的一個字母。不使用 c 的字符串函數(shù)。答案:void fun(char
41、*a,char *p)int i=0;char *p=a;while(q v =p)if(*q!= *')a=*q;i+;q+;while(*q)a=*q;i+;q+;a=0' ;57:第57題學(xué)生的記錄是由學(xué)號和成績組成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:把指定分?jǐn)?shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人數(shù)由函數(shù)值返回。答案:int fun(strec*a,strec *b,int l,int h)int i,j=0;for(i=0;i v n;i+)if(a.s>=l&a.s v =h)bj=a;j+;r
42、eturn j;58:第58題編寫函數(shù)藏服那,它的功能是:求n以內(nèi)(不包括n)同時能被3與7整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。答案:double fun(int n)double s=0.0;int i;for(i=1;i v n;i+)if(i%3=0&i%7=0)s=s+i;s=sqrt(s);return s;59: 第 59 題請別寫函數(shù) fun ,該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的 m 個字符串 (每串的 長度不超過n),按順序合并組成一個新的字符串。答案:void fun(char amn,char *b)int i,j,k=0;for(i=0;i v m
43、;i+)for(j=0;j v n;j+)if(*(*(a+i)+j)bk=*(*(a+i)+j)k+;elsebreak;bk= 0'60:第60題請編寫函數(shù)fun,該函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一 個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。答案:int fun(int a,int n)int i,t,j=0,*p=a;t=p0;for(i=0;i v =n;i+)if(t=p) elseaj=t;t=p;j+;if(i>=n)aj=t;return j;61:第61題第請編寫函數(shù)fun,該函數(shù)的功能使:統(tǒng)計各年齡段的人數(shù)。N個
44、年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中;要求函數(shù)把0至9歲年齡段的人數(shù)放在d0中,把10至19歲年齡段的人數(shù)放在d1中,把20至29歲的人數(shù)放在d2中,其余以此類推,把100歲(含 100以上年齡的人數(shù)都放在d10中。結(jié)果在主函數(shù)中輸出。答案:void fun(int *a,int *b)int i,j;for(j=0;i v m;j+) bj=0;for(i=0;i v n;i+)if(a>=0&a v =9) b0+=1;else if(a>=10&a v =19) b1+=1;else if(a>=20&a v =29) b2+=1
45、;else if(a>=30&a v =39) b3+=1;else if(a>=40&a v =49) b4+=1;else if(a>=50&a v =59) b5+=1;else if(a>=60&a v =69) b6+=1;else if(a>=70&a v =79) b7+=1;else if(a>=80&a v =89) b8+=1;else if(a>=90&a v =99) b9+=1;elseb10+=1; 62:第62題請編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)一一含字符串中單詞的
46、個數(shù),作為函數(shù)值 返回。 一行字符串在主函數(shù)中輸入, 規(guī)定所有單詞由小寫字母組成, 單詞之間由若干個空格 格開,一行的開始沒有空格。答案:int fun (char *s)int i,n=0;for(i=0;i v strlen(s);i+)if(s= a'&sv =z'&si+1= 'II si+1= ' 0')n+;return n;63:第63題請編寫一個函數(shù)fun ,它的功能是:計算并輸出給定整數(shù)n的所有因子(不包括1與自身 )之和。規(guī)定 n 的值不大于 1000。答案:int fun(int n)int s=0,i;for(i=
47、2;i v =n-1;i+)if(n%i=0) s+=i; return s; 64: 第 64 題請編寫函數(shù) fun ,其功能是:將 s 所指字符串中 ascii 值為奇數(shù)的字符刪除,串 中剩余字符形成一個新串放在 t 所指的數(shù)組中。答案:void fun(char *s,char t) int i,j=0,n; n=strlen(s);for(i=0;i v n;i+)if(s%2=0)tj=s;j+;tj= 0' ;65:第65題請編寫函數(shù)fun,其功能是:將兩位數(shù)的正整數(shù)a、b合并成一個整數(shù)放在 c中。合并的方式是:將 a數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上,b數(shù)的十位和
48、個位數(shù)依次放在c數(shù)的十位和千位上。答案:void fun(int a,int b,long *c)*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;66:第66題假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:刪除字符串中所有*號。在編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。答案:void fun(char *a) int i=0;char *p=a; while(*p) if(*p!= *') a=*p;i+;p+;a=0'67:第67題學(xué)生的記錄時由學(xué)號和成績組成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)
49、fun,它的功能時:函數(shù)返回指定學(xué)號的學(xué)生數(shù)據(jù),指定的學(xué)號在主函數(shù) 中輸入。 若沒找到指定學(xué)號, 在結(jié)構(gòu)體變量中給學(xué)號置空串, 給成績置 -1,作為函數(shù)值返回 (用 于字符串比較的函數(shù)時 strcmp) 。答案:strec fun(strec*,char *b) int i;strec h;for(i=0;i v n;i+)if(strcmp(a.num,b)=0)h=a;break; elseh.num=""h.s=-1;return h;68:第68題請編寫函數(shù)fun,其功能時:計算并輸出下列多項(xiàng)式的值:sn=1 + 1/1!+1 /2!+1/3!+1/4!+ +1/n
50、!答案:sn=1+1/1!+1/2!+1/3!+1/4!+.+1/n!double fun(int n)double t,sn=1.0;int i,j;for(i=1;i v n;i+)t=1.0;for(j=1;j v =i;j+)t*j;sn+=1.0/t;return sn;69:第69題請編寫一個函數(shù)fun,它的功能時:求fibonacci數(shù)列中大于t的最小的一個數(shù),結(jié)果由函數(shù)返回。其中 fibonacci 數(shù)列 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)int fun(int t)int a=1,b=1,c=0,i;for(i=4;i v =t;i+)if(c v t)c=a+b;a=b;b=c;elsebreak;return c;70:第70題編寫函數(shù)fun,它的功能時:計算并輸出下列級數(shù)和:s=1/1*2+1/2*3+ +1/n( n+1)答案:double fun (int n)double s=0.0;int i;for(i=1;i v =n;i+)s=s+1.0/(i*(i+1); return s;71:第71題請編寫函數(shù)fun,其功能時:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45220-2025大規(guī)模定制多主體畫像系統(tǒng)參考架構(gòu)
- 臨沭租房合同范本
- 2025年梧州貨運(yùn)從業(yè)資格考題
- 2025年景德鎮(zhèn)貨運(yùn)從業(yè)資格仿真考題
- 醫(yī)院食堂押金合同范本
- 個人和工廠合作合同范本
- 保健品定購合同范本
- 加工類工程合同范本
- 農(nóng)業(yè)倉庫出租合同范本
- 債務(wù)繼承協(xié)議合同范例
- 高一下分科文科班第一次主題班會
- 初中數(shù)學(xué)代數(shù)式部分的文本解讀
- 高中學(xué)生的自我評價200字 高中學(xué)生的自我評價(三篇)
- 2023屆高考英語單詞分類-航空航天類詞匯短語與高分句型模板講義
- 口腔特殊檢查方法牙髓溫度測試法
- 信號電纜接續(xù)
- 第七版《方劑學(xué)》課本方歌
- 園林綠化養(yǎng)護(hù)投標(biāo)文件-技術(shù)標(biāo)
- 劉心武班主任
- MT 191-1989煤礦井下用橡膠管安全性能檢驗(yàn)規(guī)范
- GB/T 29617-2013數(shù)字密度計測試液體密度、相對密度和API比重的試驗(yàn)方法
評論
0/150
提交評論