南开100题语言经典_第1页
南开100题语言经典_第2页
南开100题语言经典_第3页
南开100题语言经典_第4页
南开100题语言经典_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1: 第 1 题 m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在 below 所指定的函数中。:fun(score,m,below)i,k=0,aver=0;/lugoi6liilyrf67 for(i=0;im;i+) aver+=scorei;aver/=m; for(i=0;im;i+) if(scoreiaver)belowk=scorei; k+;xcfbreturn k;2: 第 2 题 请编写函数 fun,它的功能是:求出 1 到 100 之内能北 7 或者 11 整除,但不能同时北 7 和 11

2、整除的所有:,并将他们放在 a 所指的数组中,通过 n 返回这些数的个数。void fun(i,j=0;*a,*n)for(i=2;i1000;i+)if (i%7=0 | i%11=0) & i%77!=0) aj+=i;*n=j;3: 第 3 题 请编写函数 void fun(x,pp,*n),它的功能是:求出能整除 x 且不是偶数的各整数,并按从小到大的顺序放在 pp 所指的数组中,这些除数的个数通过形参n 返回。:void fun(x,pp ,*n)i=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+)

3、 if(x%ti=0)ppk=ti; k+;*n=k;4: 第 4 题 请编写一个函数 void fun(char *tt,pp),统计在 tt 字符中a到z26各字母各自出现的次数,并依次放在 pp 所指的数组中。:void fun(char *tt,i;for (i=0;i26;i+) ppi=0;while (*tt)switch (*tt)pp)case case case case case case case case case case case case case case case case case case case case case case case case ca

4、secasea:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:pp0+;break; pp1+;break; pp2+;break; pp3+;break; pp4+;break; pp5+;break; pp6+;break; pp7+;break; pp8+;break; pp9+;break; pp10+;break; pp11+;break; pp12+;break; pp12+;break; pp14+;break; pp15+;break; pp16+;break; pp17+;break; pp18+;break; pp19+

5、;break; pp20+;break; pp21+;break; pp22+;break; pp23+;break; pp24+;break;pp25+;break;tt+;5: 第 5 题 请编写一个函数 void fun(m,k,xx),该函数的功能是:将大于整数 m 且紧靠m 的 k 各素数存入 xx 所指的数组中。:void fun(m,k,xx)g=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=1if (k=0)xxg+=i; k-;else b

6、reak;& j=i)6: 第 6 题 请编写一个函数 voidfun(chara,char,n),其功能是:删除以各字符串中指定下标的字符。其中,a 指向原字符串,删除后的字符串存放在 b 所指的数组中,n中存放指定的下标。:void fun(char a,char b,I,j=0;for (i=0;iLEN;i+) if (i!=n)n)bj=ai; j+;bj=0;7: 第 7 题 请编写一个函数 组中的下标并存放在k 所指的:fun(*s,t,*k),用来求除数组的最大元素在数单元中。void fun (I, max; max=s0;*s,t,*k)for(i=0;it;i+) if

7、(simax)max=si;*k=I;8: 第 8 题 编写函数 fun,功能是:根据以下攻势计算 s,计算结果作为函数值返回;n 通过形参传入。S=1+1/(1+2)+1/(1+2+3)+.+1/(1+2+3+4+n):float fun (n)i;float s=1.0, t=1.0; for(i=2;i=n;i+)t=t+i; s=s+1/t;return s;9: 第 9 题 编写一个函数 fun,它的功能是:根据以下公式求 p 的值,结果由函数值带回。M 与 n 为两个正整数,且要求 mn。 p=m!/n!(m-n)!:float fun(m,n)float p,t=1.0; I;f

8、or (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; return p;10: 第 10 题 编写函数 fun,它的功能是:利用以下的简单迭代方法求方程 cos(x)-x=0 的一个实根。迭代步骤如下:(1)取 x1 初值为 0.0; (2)x0=x1,把 x1 的值赋各 x0;(3)x1=cos(x0),求出一个新的 x1;(4)若 x0-x1 的绝对值小于 0.000001,则执行步骤(5),否则执行步骤(2); (5)所求 x1 就是方程 cos(x

9、)-x=0 的一个实根,作为函数值返回。程序将输出 root=0.739085。:float fun()float x1=0.0,x0; dox0=x1; x1=cos(x0);while(fabs(x0-x1)1e-6);return11: 第fun(:x1;11 题 下列程序定义了 nn 的二维数组,并在主函数中自动赋值。请编写函数an),该函数的功能是:使数组左下半三角元素中的值全部置成 0。fun(aN)I,j;for(i=0;iN;i+) for(j=0;j=I;j+) aij=0;12: 第 12 题 下列程序定义了nn 的二维数组,并在主函数中赋值。请编写函数 fun,函数的功能

10、使求出数组周边元素的平均值并作为函数值返回给主函数中的 s。:double fun(wN)I,j,k=0;double s=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-2;i+)s+=wiN-1; k+;return s/=k;13: 第 13 题 请编写一个函数 void fun(ttmn,ppn),tt 指向一个 m 行 n 列的二维函数组,求出二维函数组每列中最小元素,并依次放入 pp 所指定一维数组中。二维数组中的数已在主函数中赋予。

11、:void fun(ttMN,I,j,min; for(j=0;jN;j+)ppN)mt0j;for(i=0;iM;i+)if (ttijmin)mtij;ppj=min;14: 第 14 题 请别写函数 fun,函数的功能使求出二维数组周边元二维数组中的值在主函数中赋予。:和,作为函数值返回。fun(aMN)I,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;return s;15: 第 15 题 请编写一个函数 unsigned fun(unsigned w),w 使一个大于 10 的无符号整数,

12、若 w 使 n(n2)位的整数,则函数求出 w 后 n1 位的数作为函数值返回。:unsigned fun(unsigned w)unsigned t,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;return s;16: 第 16 题 请编写一个函数 float fun(double h),函数的功能使对变量 h 中的值保留 2位小树,并对第三位进行四舍五入(规定 h 中的值位正数)。:float fun(float h)long t; float s; h=h*1000; t=(h+5)/10;

13、s=(float)t/100.0; return s;17: 第 17 题 请编写一个函数 fun(char *s),该函数的功能使把字符串中的内容拟置。:void fun(char *s)char ch;I,m,n; i=0;m=n=strlen(s)-1; while(i(n+1)/2)ch=si; si=sm; sm=ch; i+;m-;18: 第 18 题 编写程序,实现矩阵(3 行 3 列)的转置(即行列互换)。:void fun(array33)I,j,temp; for(i=0;i3;i+) for(j=0;jI,j+)temp=arrayij; arrayij=arrayji;

14、 arrayji=temp;19: 第 19 题 编写函数 fun,该函数的功能是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。:void fun(char s,i=0;char *p; p=s; while(*p)if(*p!=c)si=*p; i+;p+;c)si=0;20: 第 20 题 编写函数fun(lim,aamax),该函数的功能是求出小于或等于 lim的所有素数并放在 aa 数组中,该函数返回所求的素数的个数。:fun(lim,aaMAX)k=0,I,j;for(i=lim;i1;i-)for(j=2;ji;j+) if(i%j=0) break;else con

15、tinue; if(j=i)aak=i; k+;return k+;21: 第 21 题 请编写函数 fun,对长度位 7 个字符的字符串,除首尾字符外,将其余 5 个字符按 ascii 码降序排列。:void fun(char *s,char t;I,j;num)for(i=1;inum-2;i+) for(j=i+1;jnum-1;j+) if(sisj)t=si; si=sj; sj=t;22: 第 22 题 n 名学生的成绩已在主函数中放入一个节点的链表结构中,h 指向链表的头节点。请编写函数 fun,它的功能是:找出学生的最高分,由函数值返回。:double fun(STREC *h

16、)double max; STREC *q=h; max=h-s; doif(q-smax) max=q-s;-next;while(q!=0); return max;23: 第 23 题 请编写函数 fun,该函数的功能是:判断字符串是否为回文?若是则函数返回 1,主函数中输出 yes,否则返回 0,主函数中输出 no。回文是指顺读和倒读都是一样的字符串。:fun(char *str)I,n=0;fg=1;char *p=str; while (*p) n+; p+;for(i=0;in/2;i+)if (stri=strn-1-i); elsefg=0; break;return fg;

17、24: 第 24 题 请编写一个函数 fun,它的功能是:将一个字符串转换为一个整数(不得调用 c语言提供的将字符串转换为整数的函数)。:long fun (char *p)long s=0,t;i=0,j,n=strlen(p),k,s1;if(p0=-)i+;for(j=I;j=n-1;j+)t=pj-0; s1=10;for(k=j;kn-1;k+) t*=s1;s+=t;if(p0=-)return s; elsereturn s;25: 第 25 题 请编写一个函数 fun,它的功能是:比较两个字符串的长度,(不得调用 c 语言提供的求字符串长度的函数),函数返回较长的字符串。若两个

18、字符串长度相同,则返回第一个字符串:char *fun(char *s,charchar *p,*t1=t,*s1=s; n=0;m=0;while (*s1) n+; s1+;while(*t1) m+; t1+;if(n=m) p=s; else p=t;return p;*t)26: 第 26 题请编写一个函数fun,它的功能是:根据以下公式求 x 的值(要求满足精度0.0005,即某项小于 0.0005 时停止迭代): x/2=1+1/3+12/35+123/357+1234/3579+123n/3 57(2n+1)程序运行后,如果输入精度 0.0005,则程序输出为 3.14。:do

19、uble fun(double eps)double s;floa,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 题 请编写一个函数 fun,它的功能是:求除 1 到 m 之内(含 m)能北 7 或 11 整除的所有整数放在数组 a 中,通过n 返回这些数的个数。:void fun(m,I,j=0; *n=0;for(i=1;i=m;i+)*a,*n)if (i%7=0 | i%11 =0) aj=I; j+;*n=j;28: 第 28 题 请编

20、写一个函数 fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中 x 是数组名,n 是 x 中的数据个数,max 存放最大值,index 存放最大值所在元素的下标。:void fun (I;*max=a0;*d=0;a,n,*max,*d)for(i=0;In;i+) if(ai*max)*max=ai;*d=I;29: 第 29 题 请编写一个函数 fun,它的功能是:将 ss 所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。:void fun(char *ss)I,n

21、;n=strlen(ss); for(i=1;in;i+=2) if(ssi=a& ssi=z) ssi=ssi-32;30: 第 30 题 请编写一个函数 fun,它的功能是:求除一个 2m 整型二维数组中最大元素的值,并将此值返回调用函数。:fun(aM)I,j,max; max=a00; for(i=0;i2;i+) for(j=0;jM;j+) if(aijmax)max=aij; return max;31: 第 31 题 请编写函数 fun,其功能是:将 s 所指字符串中除了下标为偶数、同时 ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在 t 所指的

22、一个数组中。:void fun(char *s,char t)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 题 请编写函数 fun,其功能是:将 s 所指字符串中除了下标为奇数、同时 ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在 t所指的一个数组中。:void fun(char *s,char t)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: 第

23、 33 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:使字符串中尾部的*号不得多于 n 个;若多于 n 个,则删除多于的*号;若少于或等于 n 个,则什么也不做,字符串中间和前面的*号不删除。:void fun(char *a,i=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=0;34: 第 34 题 学生的n)由学号和成绩组成,n 名学生的数据已在主函数中放入结构体数组s 中,请编写函数 fun,它的功能使

24、:把分数最高的学生数据放在 h 所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。:fun (STREC *a, STREC *b)I,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+;return n;35: 第 35 题 请编写一个函数,用来删除字符串中的所有空格。:void fun(char *str)i=0;char *p=str; while (*p)if(*p!=)stri=*p; i+; p+;s

25、tri=0;36: 第 36 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。:void fun(char *a)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 题 某学生的由学号、8 门课程成绩和平均分组成,学号和 8 门课程的成绩已在主函数中给出。请编写函数 fun,它的功能是:求出该学生的平均分放在中。请自己定义正确的形参。:void fun(STREC *p)doubl

26、e av=0.0; i:for(i=0;iN;i+) av+=p-si; av/=N;p-ave=av;的 ave 成员38: 第 38 题 请编写函数 fun,它的功能是:求出 ss 所指字符串中指定字符的个数,并返回此值。:fun(char *ss, char c)n=0;while (*ss)if(*ss=c) n+;ss+;return n;39: 第 39 题 请编写函数 fun,该函数的功能是:移动一维数组中的内容,若数组中由 n 个整数,要求把下标从 0 到 p(p 小于等于n1)的数组元素平移到数组的最后。:void fun(*w,bN, i, j=0;for(i=0;i=p;

27、i+)bi=wi; j+;for(i=0;i=p;i+)wj=bi; j+;p,n)40: 第 40 题 请编写函数 fun,该函数的功能是移动字符串中内容,移动的规则如下:把第1 到第 m 个字符,平移到字符串的最后,把第 m1 到最后的字符移到字符串的前部。:void fun(char *w,char bN;I,j=0;for(i=0;im;i+)bj=wi; j+;m)for (i=0;istrlen(w)-m;i+) wi=wi+m; for(j=0;jm;j+)wi=bj; i+;wi=0;41: 第 41 题 请编写函数 fun,该函数的功能是:将 m 行 n 列的二维数组中的字符

28、数据,按列的顺序依次放到一个字符串中。:void fun(char (*s)n,char *b)i,j,k=0;for(j=0;jn;j+)for(i=0;im;i+)bk=*(*(s+i)+j) k+; bk=0;42: 第 42 题 下列程序定义了 nn 的二维数组,并在主函数中自动赋值。请编写函数fun(an,:n),该函数的功能是:将数组右上半三角元素中的值乘以 m。void fun(an,m)i,j;for(j=0;jn;j+) for(i=0;i=j;i+) aj=aj*m;43: 第 43 题 编写一个函数,从传入的 num 个字符串中找出一个最长的一个字符串,并通过形参指针 m

29、ax 传回该串地址(用*作为结束输入的标志)。:charchar*fun(char (*a)81,num) i;*max;max=a0; for(i=0;inum;i+) if(strlen(max)strlen(a) max=a;return max;44: 第 44 题 编写一个函数,该函数可以统计一个长度为 2 的字符串在另一个字符串中出现的次数。:fun(char *str,char *substr)n;char *p,*r; n=0;while(*str)p=str; r=substr; while(*r) if(*r=*p)r+;p+;else break;if(*r=0)n+;s

30、tr+; return n;45: 第 45 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参 n 给出了字符串的长度,形参 h 给出了字符串中前导*号的个数,形参 e 给出了字符串中最后的*个数。在编写时不得使用 c 语言给提供得字符串函数。:voidcharfun(char *a, i=0;*p;n,h,e)for(p=a+h;pa+n-e;p+)*(a+i)=*p; i+;*(a+i)=0;46: 第 46 题 学生得由学号和成绩组称个,n 名大学生得数据已在主函数中放入结构体数组 s 中,请编写函数

31、fun,它的功能时:按分数的高低排列学生的:void fun(strec a),高分。i,j;strec t; for(i=0;in-1;i+) for(j=i;sn;j+) if(a.saj.s)t=a; a=aj; aj=t; 47: 第 47 题 请编写一个函数 void fun(char *ss),其功能时:将字符串 ss 中所有下标为奇数位置上的字母转换为大写(若位置上不是字母,则不转换)。:voidcharfun(char *ss) i,n=0;*p=ss;while(*p)n+;p+;for (i=0;in;i+)if (ss=a&ss=z)&i%2!=0) ss=ss-32;s

32、s=0;48: 第 48 题 请编写函数 fun,其功能是:将两个两位数的正整数 a,b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位依次放在c 数的千位和十位上,b 数的十位和个位数依次放在 c 数的百位和个位上。:void fun(a,b,long *c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;49: 第 49 题 请编写函数 fun,其功能是:将 s 所指字符串中下标位偶数同时 ascii 值为奇数的字符删除,s 中剩余的字符形成的新串放在t 所指的数组中。:void fun(char *s,char t)i,j=0,n=st

33、rlen(s);for(i=0;in;i+) if(i%2=0&s%2!=0)elsefj=s; j+; tj=0;50: 第 50 题 已知学生的是由学号和学习成绩,n 名学生的数据已存入 a 机构体数组中。请编写函数 fun,该函数的功能是:找出成绩最高的学生 (规定只有一个最高分)。:void fun(stu a,stu *s),通过形参返回主函数i,max;max=a0.s;for (i=0;in;i+) if(a.smax)max=a.s;*s=a;51: 第 51 题 请编写函数 fun,其功能是:将所有大于 1 小于整数 m 的非素数存入 xx 所指的数组中,非素数的个数通过k

34、传回。:void fun(m,*k,xx)i,j;t=0;for(i=2;im;i+)j=2;while(ji)if(i%j=0)xxt=i; t+;break; j+;*k=t;52: 第 52 题 编写一个函数 fun,它的功能是:实现两个字符串的连接(不使用库函数 strcat),即把 p2 所指的字符串连接到 p1 所指的字符串后。:voidcharfun(char p1,char p2) i=0,n=0;*p=p1,*q=p2;while (*p)p+;n+;i=n; while(*p)p1=*q; q+; i+;p1=0;53: 第 53 题 请编写函数 fun,该函数的功能是:实

35、现 b=a+a,即把矩阵 a 加上 a 的转置,存放在矩阵 b 中。计算结果在 main 函数中输出。:void fun(a33,b33)i,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 题 学生的由学号和成绩组称个,n 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把低于平均分的学生数据放在 b 所指的数组中,低于平均分的学生人数通过形参n 传回,平均分通过函数值返回。:double fun(strec *a, st

36、rec *b,double aver=0.0; i,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+; *n)retur;55: 第 55 题 请编写函数 fun,该函数的功能是:将 m 行 n 列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参 n 所指的:单元中。void fun(*s)10,*b,*n,mm,nn)i,j;for(i=0;imm;i+) for(j=0;jnn;j+)b*n=*(*(s+i)+j);*n=*n+1;56:

37、 第 56 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:除了尾部的*号之外,将字母串中其他*号全部删除。形参 p 已指向字符串中最后的一个字母。不使用 c 的字符串函数。:voidcharfun(char*a,char *p) i=0;*p=a;while(q=p)if(*q!=*)a=*q;i+;q+;while(*q)a=*q; i+; q+;a=0;57: 第 57 题 学生的是由学号和成绩组成,n 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把指定分数范围内的学生数据放在 b 所指的数组中,分数范围内的学生人数由函数值返回

38、。:fun(strec*a,strec *b,i,j=0;l,h)for(i=0;in;i+) if(a.s=l&a.s=h)bj=a; j+;return j;58: 第 58 题 编写函数藏服那,它的功能是:求 n 以内(不包括 n)同时能被 3 与 7 整除的所有自然数之和的平方根 s,并作为函数值返回。:double fun(n)double s=0.0; i;for(i=1;in;i+) if(i%3=0&i%7=0)s=s+i; s=sqrt(s); return s;59: 第 59 题 请别写函数 fun,该函数的功能是:将放在字符串数组中的 m 个字符串(每串的长度不超过 n

39、),按顺序合并组成一个新的字符串。:void fun(char amn,char *b)i,j,k=0;for(i=0;im;i+)for(j=0;jn;j+) if(*(*(a+i)+j)bk=*(*(a+i)+j) k+;else break;bk=0;60: 第 60 题 请编写函数 fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。:fun(a,n)i,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; retur

40、n j;61: 第 61 题 第请编写函数 fun,该函数的功能使:统计各段的人数。N 个通过调用随机函数获得,并放在主函数的 age 数组中;要求函数把 0 至 9 岁段的人数放在 d0中,把 10 至 19 岁段的人数放在 d1中,把 20 至 29 岁的人数放在 d2中,其余以此类推,把 100 岁(含 100 以上:的人数都放在 d10中。结果在主函数中输出。void fun(*a,*b)i,j;for(j=0;im;j+) bj=0;for(i=0;in;i+) if(a=0&a=9) b0+=1;else if(a=10&a=19) b1+=1;else if(a=20&a=29)

41、 b2+=1;else if(a=30&a=39) b3+=1;else if(a=40&a=49)b4+=1;else if(a=50&a=59) b5+=1;else if(a=60&a=69) b6+=1;else if(a=70&a=79) b7+=1;else if(a=80&a=89) b8+=1;else if(a=90&a=99) b9+=1;else b10+=1;62: 第 62 题 请编写函数 fun,该函数的功能是:一含字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。:fun (ch

42、ar *s)i,n=0;for(i=0;istrlen(s);i+)if(s=a&s=z&si+1=si+1=0) n+;return n;63: 第 63 题 请编写一个函数 fun,它的功能是:计算并输出给定整数 n 的所有因子(不包括 1 与自身)之和。规定 n 的值不大于 1000。:fun(n)s=0,i;for(i=2;i=n-1;i+) if(n%i=0)s+=i;return s;64: 第 64 题 请编写函数 fun,其功能是:将 s 所指字符串中 ascii 值为奇数的字符删除,串中剩余字符形成一个新串放在 t 所指的数组中。:void fun(char *s,char

43、t)i,j=0,n;n=strlen(s); for(i=0;in;i+) if(s%2=0)tj=s;j+;tj=0;65: 第 65 题 请编写函数 fun,其功能是:将两位数的正整数 a、b 合并成一个整数放在 c中。合并的方式是:将a 数的十位和个位数依次放在c 数的百位和个位上,b 数的十位和个位数依次放在 c 数的十位和千位上。:void fun(a,b,long *c)*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;66: 第 66 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使

44、用 c 语言提供的字符串函数。:void fun(char *a)i=0;char *p=a;while(*p)if(*p!=*)a=*p;i+;p+;a=0;67: 第 67 题 学生的时由学号和成绩组成,n 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能时:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数时 strcmp)。:strec fun(strec*,char *b)i;strec h; for(i=0;in;i+) if(strcmp(a.num,b

45、)=0)h=a; break; elseh.num=;h.s=-1;return h;68: 第 68 题 请编写函数 fun,其功能时:计算并输出下列多项式的值: sn=1+1/1!+1/2!+1/3!+1/4!+1/n!:sn=1+1/1!+1/2!+1/3!+1/4!+.+1/n!double fun(n)double t,sn=1.0;i,j; for(i=1;in;i+)t=1.0;for(j=1;j=i;j+) t*j;sn+=1.0/t;return sn;69: 第 69 题 请编写一个函数 fun,它的功能时:求 fibonacci 数列中大于t 的最小的一个数,结果由函数返

46、回。其中 fibonacci 数列 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)fun(t)a=1,b=1,c=0,i;for(i=4;i=t;i+)if(ct)c=a+b; a=b; b=c; else break;return c;70: 第 70 题 编写函数 fun,它的功能时:计算并输出下列级数和: s=1/1*2+1/2*3+1/n(n+1):double fun (n)double s=0.0; i;for(i=1;i=n;i+) s=s+1.0/(i*(i+1);return

47、 s;71: 第 71 题 请编写函数 fun,其功能时:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中,合并的方式是:将 a 数的十位和个位数依次放在 c 数的十位和千位上,b 的十位和个位整数依次放在c 数的百位和个位上。:void fun(a,b,long *c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;72: 第 72 题 请编写函数 fun,其功能是:将 s 所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在 t 所指数组中。:void fun(char *s,char t)i,j=0,n=strlen(s);for(i=0

48、;in;i+) if(i%2!=0)tj=s; j+;tj=0;73: 第 73 题 假定输入的字符串中只包含字母和*号,请编写函数 fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参 h 已指向字符串第一个字符,形参 p 已指向字符串中最后一个字母。在编写程序时,不得使用c 语言提供的字符串函数。:voidcharfun(char *a,char i=0;*q=a;*h,char*p)while(qh)a=*q; q+; i+;while(qp)if(*q!=*)a=*q;i+;q+;while(*q)a=*q; i+; q+;a=0;74: 第 74 题 学生

49、的由学号和成绩组成n 名学生的数据已在主函数中放入结构体数组s中,请编写函数 fun,它的功能时:把分数最低的学生数据放在 h 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。:fun(strec *a,strec *b)i,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+;return n;75: 第 75 题 请编写函数 fun ,该函数的功能:将 m 行 n 列的二维数组中的数据,按列的顺学依次放到一维数组中。:v

50、oid fun(*s)10,*b,*n,mm,nn)i,j;for(j=0;jnn;j+) for(i=0;imm;i+)b*n=*(*(s+i)+j);*n=*n+1;76: 第 76 题 请编写函数 fun,其功能时:计算并输出当 x0.97 时下列多项式的值,直到sn-s(n-1)1e-6);return sum;77: 第 77 题 请编写一个函数 fun,其功能是:将两个两位数的正整数 ab 合并形成一个整数放在 c 中。合并方式是:将 a 数的十位和个位数依次放在 c 数的个位和百位上,b 数的十位和个位数依次放在c 数的十位和千位上。:void fun(a,b,long *c)*

51、c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;78: 第 78 题 请编写函数 fun,其功能是:将 s 所指字符串中 ascii 值为偶数的字符删除,串中剩余字符形成一个新串放在 t 所指的数组中。:void fun(char *s,char t)i,j=0,n=strlen(s);for(i=0;in;i+) if (s%2!=0)tj=s;j+;tj=0;79: 第 79 题 已知学生的由学号和学习成绩,n 名学生的数据已存入a 结构体数组中。请编写函数 fun,该函数的功能是:找出成绩最低的学生定只有一个最低分)。:void fun(stu a,stu

52、 *s),通过形参返回主函数(规i,min;min=a0.s; for(i=0;in;i+) if(a.smin)min=a.s;*s=a;80: 第 80 题 程序定义了 nn 的二维数组,并在主函数中自动赋值。请编写函数 fun,该函数的功能是:使数组左下半三角元素中的值乘以n。:fun(an,n)i,j;for(i=0;in;i+)for(j=0;j=i;j+) aj=aj*n;81: 第 81 题 请编写函数 fun,其功能使:将两个两位正整数 a b 合并形成一个整数放在 c中。合并的方式使:将a 数的十位和个位数依次放在c 数的百位和个位上,b 数的十位和个位数依次放在 c 数的千

53、位和十位上。:void fun(a,b,long *c)*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;82: 第 82 题 请编写一个函数 fun,它的功能使:计算 n 门课程的平均分,计算结果作为函数值返回。:float fun(float *a,float ave=0.0; i;for(i=0;in;i+) ave+=a;ave/=n;return ave;n)83: 第 83 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。:fun(char *a) i=0;*p,*q;voi

54、dcharp=q=a; while(*p) p+;p-;while(*p=*)p-;while(q=p)a=*q; i+; q+;a=0;84: 第 84 题 请编写函数 fun,其功能是:将两个两位数的正整数 a b 合并形成一个整数放在 c 中,合并的方式是:将 a 数的十位和个位数依次放在 c 的个位和百位上,b 数的十位和个位数依次放在 c 数的千位和十位上。:void fun(a,b,long *c)c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;85: 第 85 题 n 名学生的成绩已在主函数中放入一个节点的链表结构中,h 指向链表的头节点。请编写函

55、数 fun,它的功能是:求出平均分,由函数值返回。:double fun(strec *h)double aver=0.0; while(h!=null)aver+=h-s; hy=h-next;aver/=n;retur;86: 第 86 题 请编写函数 fun,计算并输出给定 10 个数的方差。:double fun(double x10)i,j;double s=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=(s,0.5);return s;87: 第 87 题 请编

56、写函数 fun,其功能是:将两个两位数的正整数 a b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的千位和十位上,b 数的十位和个位数依次放在 c 数的个位和百位上。:void fun(a,b,long *c)*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;88: 第 88 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数亚时,不得使用 c 语言提供的字符串函数。:voidcharfun(char *a) i=0;*p=a;while(*p&*p=*)a=*p; i+; p+;while(*p)if(*p!=*)a=*p;i+;p+;a=0;89: 第 89 题 学生的是由学号和成绩组成,n 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把高于等于平均分的学生数据放在 b 所指的数组中,高于等于平均分的学生人数通过形参 n 传回,平均分通过函数值返回。:double fun(strec *a,strec *b,double

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论