全国计算机二级C考试题库(程序设计部分)_第1页
全国计算机二级C考试题库(程序设计部分)_第2页
全国计算机二级C考试题库(程序设计部分)_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、1、找岀2xM整型二维数组中最大元素的值,并将此值返回 调用函数。int fun (int aM)int i,j,max=aOO;for(i=0;i<2;i+)for(j=0;j<M;j+) if(max<aij) max=aij;return max;2、根据以下公式求n值。I 1x2 1x2x3 Ix2x3x4亍 Sx5 Sx5x7 3x5x7x9xii+l)double fun ( double eps) double s=0.0,s1=1.0;int n=0;while(s1>=eps)s=s+s1;s1=s1*n/(2*n+1);n+;return 2*s;3

2、、求出11000之间能被7或11整除但不能同时被 7和11 整除的所有整数,并将其放在 a所指的数组中,通过n返回 这些数的个数。void fun (int *a, int *n) int i,j=0;for(i=1;i<=1000;i+)if(i%7=0|i%11=0)&&i %77!=0)aj+=i;*n=j;4、删除字符串中所有*号。void fun( char *a ) int i,j=0;for(i=0;ai!='0'i+)if(ai!='*')aj+=ai;aj='0'5、 实现两个字符串的连接(不要同时使用库函

3、数),即把p2 所指的字符串连接到p1所指的字符串的后面。void fun(char p1, char p2)int i,j;for(i=0;p1i!='0'i+);for(j=0;p2j!='0'j+)p1i+=p2j;p1i='0'6、 某学生的记录由学号、8门课程成绩和平均分组成,学号 和8门课程的成绩已在主函数中给出,请编写函数fun,其 功能:求出平均分,并放入记录的 ave成员中。void fun(STREC *a) int i;a->ave=0.0;for(i=0;i<N;i+)a->ave=a->ave+a

4、->si;a->ave/=N; 7、n名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。求岀平均分,并由函数值返回double fun( STREC *h ) double ave=0.0;STREC *p=h->next;while(p!=NULL) ave=ave+p->s;p=p->next;return ave/N;&将所有大于1小于整数m的非素数存入xx所指数组中, 非素数的个数通过 K返回。void fun( int m, int *k, int xx) int i,j,n=0;for(i=4;i<m;i+) fo

5、r(j=2;j<i;j+)if(i%j=0) break;if(j<i) xxn+=i;*k=n;9、求ss所指字符串中指定字符的个数,并返回此值。int fun(char *ss, char c) int i=0;for(;*ss!='0'ss+)if(*ss=c)i+;return i;10、计算n门课程的平均分,结果作为函数值返回。float fun ( float *a , int n ) int i;float av=0.0;for(i=0; i<n;i+)av=av+ai;return(av/n);11、 学生的记录由学号和成绩组成,N名学生的数据

6、已放入主函数中的结构体数组s中,求最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回 分数最高的学生的人数。int fun( STREC *a, STREC *b ) int i,j=0,max=a0.s;for(i=0;i<N;i+)if(max<ai.s) max=ai.s;for(i=0;i<N;i+)if(max=ai.s)bj+=ai;return j; 12、除了字符串前导的*号之外,将串中其他*号全部删除。void fun( char *a ) int i=0;char *p=a;while(*p&&*p='*&

7、#39;) ai=*p;i+;p+;while(*p) if(*p!='*')ai=*p;i+;ai='O:13、 统计在tt所指的字符串中日至z' 26个小写字母 给出现的次数,并依次放在pp所指数组中。void fun(char *tt, int pp) int i;for(i=0;i<26;i+)ppi=0;for(;*tt!='0'tt+)if(*tt>='a '&&*tt<='z')pp*tt-'a'+;14、 将字符串尾部的*号全部删除,前面和中间的*号

8、不动。void fun( char *a ) while(*a!='0')a+;a_;while(*a='*')a_;*(a+1)='0' 15、 比较字符串的长度,函数返回较长的字符串,如果相同, 则返回第一个字符串。char *fun ( char *s, char *t) int i,j;for(i=0;si!= '0'i+);for(j=0;tj!= '0'j+);if(i<=j)return t;elsereturn s;16、 学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组 s

9、中,函数返回该学生的学生数据,指 定的学号在主函数中输入。若没找到指定学号,在结构体变 量中给学号置空串,给成绩置-1,作为函数数值返回。STREC fun( STREC *a, char *b )int i;STREC str="0",-1;for(i=0;i<N;i+)if(strcmp(ai.num,b)=0)str=ai;return str;17、 将s所指字符串中除下标为偶数同时ASCII码值也为偶 数的字符外,其余的全部删除字符串中剩余的字符所形成的新串放在 t 数组中。void fun(char *s, char t)int i,j=0;for(i=0

10、;si!='0'i+)if(i%2=0 && si%2=0)tj+=si;tj='0'18、 利用下面的简单迭代方法求方程cos(x)-x=0的一个实根s。double fun() double x0,x1;x1=0.0;dox0=x1;x仁 cos(x0);while( fabs(x0-x1)>=1e-6);return x1;19、将字符串中的前导*号全部移到字符串尾部。void fun( char *a ) int i=0,n=0;char *p;p=a;while (*p='*') /*判断*p是否是*号,并统计*号

11、的个数*/n+;p+;while(*p) /*将前导*号后的字符传递给a*/ai=*p;i+;p+;while(n!=0)ai='*'i+;n-;ai='0'20、N名学生的数据已放入主函数中的结构体数组中,把分数最低的学生数据放入b所指的数组中。int fun( STREC *a, STREC *b )int i,j=0,min=a0.s;for(i=0;i<N;i+)if(min>ai.s)min=ai.s;/*找出最小值*/for(i=0;i<N;i+)if(min=ai.s)bj+=ai; /*找出成绩与min相等的学生的记录,存入结构

12、体b中*/return j;21、计算double fun( int m ) int i;double s=0.0;J二十加十吨3)十十如吋,怅地数値返回for(i=1;i<=m;i+)s=s+log(i);return sqrt(s);22、 只删除字符前导和尾部的*号,串中字母间的*号都不删 除。void fun( char *a, int n,int h,int e ) int i,j=0;for(i=h;i<n-e;i+)aj+=ai;|i =閃賓Qaj='0' 23、将s所指字符串中下标为偶数的字符删除,剩余字符形 成的新串放在t所指数组中void fun

13、(char *s, char t) int i,j=O,k=strlen(s);for(i=1;i<k;i=i+2)tj+=si;tj='0'24、 将a, b中的两位正整数合并成一个新的整数放在c中。 合并方式是:将a中的十位和个位依次放在变量 c的百位和 个位上,B中的十位和个位数依次放在变量 c的十位和千位 上。void fun(int a, int b, long *c)*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;25、 除了尾部的*号之外,将字符中的其他的*号全部删除。 形参p已指向字符串最后的一个字母。void fun(

14、char *a, char *p ) char *t=a;for(;t<=p;t+)if(*t!='*')*(a+)=*t;for(;*t!='0't+)*(a+)=*t;*a='0'26、N名学生的数据已放入主函数中的结构体数组中,按分 数降序排列学生的记录,高分在前,低分在后。void fun( STREC a) int i,j;STREC t;for(i=1;i<N;i+)for(j=0;j<N-1;j+)if(aj.s<aj+1.s)t=aj;aj=aj+1;aj+1=t;27、N名学生的数据已放入主函数中的结构体

15、数组中,把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。double fun( STREC *a, STREC *b, int *n )int i;double av=0.0;*n=0;for(i=0;i<N;i+)av=av+ai.s;av=av/N;for(i=0;i<N;i+)if(av<=ai.s) b*n=ai;*n=*n+1;return av; 28、将1m之间(含m能被7或11整除的所有整数放在数 组a中,并通过n返回这些数的个数。void fun ( int m, int *a , int *n )

16、 int i,j=0;for(i=1;i<=m;i+)if(i%7=0|i%11=0)aj+=i;*n=j; 29、将字符串中的前导*号全部删除,中间和尾部的*号不删 除。void fun( char *a ) char *p=a;while(*p='*') p+;for(;*p!='0'p+,a+)*a=*p;*a='0' 30、N名学生的成绩已在主函数中放入一个带有头结点的链 表结构中,h指向链表的头结点。找岀学生的最高分。double fun( STREC *h ) double max=h->s;while(h!=NULL)i

17、f(max<h->s) max=h->s;h=h->next;return max;30、找岀一维整型数组元素最大的值及其所在的下标,并通过形参传回。主函数中x是数组名,n是x数据个数,max存放最大值,index存放最大值所在元素的下标。void fun(int a,int n, int *max, int *d) int i;*max=a0;*d=0;for(i=0;i<n;i+)if(*max<ai)*max=ai;*d=i;31、 将s所指字符串中除了下标为奇数同时ASCII值也为奇 数的字符之外,其余的所有字符全部删除,串在剩余字符所 形成的一个新

18、串放在t所指的数组中。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、实现B=A+ A ,即将矩阵A加上A的转置,存放在矩阵B中。void fun ( int a33, int b33) int i,j;for(i=0;i<3;i+)for(j=0;j<3;j+)bij=aij+aji; 33、将M行N列的二维数组中的数据,按列的顺序依次放到 一维数组中。void fun(int (*s)

19、10,int *b,int *n,int mm,int nn)S = 1十一十-十'"+1 + 2 1 + 2+31+2 + 345 int i,j;for(j=0;j<nn;j+)for(i=0;i<mm;i+)b*n=*(*(s+i)+j);*n=*n+1;34、 将两个两位数的正整数 a,b合并成一个整数放在 c中。 合并的方式是:将a数的十位和个位数依次放在 c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。void fun(int a, int b, long *c) *c=a/10+(b%10)*10+(a%10)*100+(b/10)

20、*1000;35、 将放在字符串数组中的M个字符串(每串的长度不超过 N),按顺序合并成一个新的字符串。void fun(char aMN,char *b) int i,j,k=0;for(i=0;i<M;i+)for(j=0;aij!='0'j+) bk+=aij;bk='0:36、 删除一个字符串中指定下标的字符。a指向原字符后的 字符串存放在b所指的数组中,n中存指定的下标。void fun (char a, char b, int n) int i,k=0;for(i=0;ai!='0'i+)if(i!=n)bk+=ai;bk='0

21、'37、 移动一维数组中的内容,若数组中有n个整数,要求把 下标从0p (含p,p小于等于n-1 )的数组元素平移到数组 的最后。void fun(int *w, int p, int n) int x,j,ch;for(x=0;x<=p;x+) ch=w0;for(j=1;j<n;j+)wj-1=wj;wn-1=ch;38、将M行N列的二维数组中的字符数据,按列的顺序依次 放到一个字符串中。void fun(char (*s)N,char *b) int i,j,k=0;for(i=0;i<N;i+)for(j=0;j<M;j+) bk+=sji;bk=

22、9;0'39、计算float fun(int n) int i,s 1=0;float s=0.0;for(i=1;i<=n;i+)s 1= s1+i;s=s+1.0/s1;return s;40、 将s所指字符串中ASCCII值为奇数的字符删除,剩余 字符形成的新串放在t所指数组中void fun(char *s, char t) int i,j=0,n;n=strlen(s);for(i=0;i<n;i+)if(si%2=0) tj=si;j+;tj='0'42、删除一维数组中所有相同的数使之只剩一个。数组中的 数已按由小到大的顺序排列函数返回删除后数组

23、的数据。int fun(int a, int n) int i,j=1;for(i=1;i<n;i+)if(aj-1!=ai)aj+=ai;return j;43、除了字符串前导和尾部的*号外,将串中其他的*号全部 删除。void fun( char *a, char *h,char *p ) int i=0;char *q=a;while(qvh) ai=*q; q+;i+;while(qvp) if(*q!='*') ai=*q;i+;q+;while(*q) ai=*q; i+; q+;ai='0'44、 将a,b的两个两位正整数合并成一个新的整数放

24、在c中,合并方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。void fun(int a, int b, long *c)*c=a%10+(b%10)*10+(a/10)*100+(b/10)*1000;45、使字符串的前导*号不得多于n个,若多于n个,则删 除多余的*号,若少于或等于n个,则不做处理,字符串中 间和尾部的*号不删除。void fun( char *a, int n ) int i=0;int k=0;char *p,*t;p=t=a;while(*t='*')k+;t+;if(k>n) while

25、(*p) ai=*(p+k-n);i+;p+;ai='O:46、 将两个两位数的正整数 a,b合并成一个整数放在 c中, 合并方式是:将a数的十位和个位数依次在 c数的个位和百 位上,b数的十位和个位数依次放在 c数的十位和千位上。void fun(int a, int b, long *c)*c=a/10+(b/10)*10+(a%10)*100+(b%10)*1000;47、将一个数字字符串转换为一个整数。答案:ong fun ( char *p) long n=0;int flag=1;if(*p='-')p+;flag= -1;else if(*p='+

26、')p+;while(*p!='0')n=n*10+*p-'0'p+;return n*flag; .48、求Fibonacc数列中大于t的最小的数;结果由函数返回。Fibonacc数列F(n)定义为 : 门覚' i' ;:-1int fun( int t) int f0 = 0, f1 = 1, f ;do f = f0 + f1 ;f0 = f1 ;f1 = f ; while(f < t);return f ;49、 把低于平均分的学生数据放入b所指的数组中低于平均分的学生人数通过形参n返回,平均分通过函数值返回double

27、fun( STREC *a, STREC *b, int *n ) int i,j=0;double av=0.0;for(i=0;i<N;i+)av=av+ai.s;av=av/N;for(i=0;i<N;i+)if(ai.s<av) bj+=ai;*n=j;return av;50、将ss所指字符串所有下标为奇数位上的字母转换为大 写。void fun ( char *ss ) int i;for(i=0;ssi!='0'i+)if(i%2=1 &&ssi>='a'&&ssi<='z

28、9;)ssi=ssi-32;51、 将a,b两个正整数合并成一个新的整数放在c中。合并 方式:将a中的十位和个位数依次放在变量 c的千位和十位 上, b中的十位和个位数依次放在变量 c的个位和百位上。void fun(int a, int b, long *c) *c=b/10+(a%10)*10+(b%10)*100+(a/10)*1000;52、使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号,若少于或等于n个,则不做任何操作,字符中间的*不删除。void fun( char *a,int n ) int i=0,k=0;char *p, *t;p=t=a;while(*t)t

29、+;t-;while(*t='*')k+;t-;if(k>n)while(*p&&p<t+n+1) ai=*p; i+;p+;ai='0'53、 将a,b两个正整数合并成一个新的整数放在c中。合并 方式:将a中的十位和个位数依次放在变量 c的十位和千位 上, b中的十位和个位数依次放在变量 c的百位和个位上。void fun(int a, int b, long *c) *c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;54、 将a,b两个正整数合并成一个新的整数放在c中。合并 方式:将a中的十位和个位

30、数依次放在变量 c的千位和十位 上, b中的十位和个位数依次放在变量 c的十位和个位上。void fun(int a, int b, long *c) *c=b%10+(a%10)*10+(b/10)*100+(a/10)*1000;55、 把指定分数范围内的学生数据放在b所指的数组中,分 数范围内的学生人数由函数值返回。int fun( STREC *a,STREC *b,int l, int h ) int i,j=0;for(i=0;i<N;i+)if(ai.s>=l&&ai.s<=h)bj+=ai;return j;56、将s所指字符串中ASCII码值

31、为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。void fun(char *s, char t) int i=0;for(;*s!='0's+)if(*s%2=1)ti+=*s;ti='0'57、找岀成绩最高的学生记录,通过形参返回主函数(规定 只有一个最高分)fun(STU a, STU *s) int i;*s=a0;for(i=0;i<N;i+)if(s_>s<ai.s)*s=ai;58、定义了 N x N的二维数组,使数组左下办三角元素中的 值乘以n。void fun(int a N, int n) int i,j;fo

32、r(i=0;i<N;i+)for(j=0;jv=i;j+)aij=aij*n;59、定义了 N x N的二维数组,使数组左下办三角元素中的 值全部置成0.void fun (int aN) int i,j;for(i=0;i<N;i+)for(j=0;j<=i;j+)aij=0;60、请编一个函数 void fun(int ttMN),tt指向一个 M行N列的二维数组,求岀二维数组每列中最大元素,并依次 放入pp所指的一维数组中。void fun(int ttMN,int ppN) int i,j,max;for(j=0;j<N;j+)max=tt0j;for(i=0;

33、i<M;i+)if(ttij>max)max=ttij;ppj=max;61、 w是一个大于10的无符号整数,若 w是n (n2)位的 整数,则函数求岀 w的后n-1位的数作为函数值返回unsigned fun(unsigned w) int n=1,j,s=1;unsigned t;t=w;while(t>=10)t=t/10;n+;for(j=1;j<n;j+)s=s*10;return w%s;62、请编一个函数fun(char*s),该函数的功能是:把字符串 中的内容逆置。void fun(char*s) char ch;int i,m,n;i=0;片 1 +

34、1/1! -1-1/2! +1/3! +1/4! + +bWm=n=strlen(s)-1;while(i<(n+1)/2) ch=si;si=sm;sm=ch;i+; m-;63、从字符串中删除指定的字符。同字母的大、小写按不同 字符处理void fun( char s,int c) int i=0;char *p;p=s;while(*p) if(*p!=c)si=*p;i+;p+; si='0'64、对长度为7个字符的字符串,除首、尾字符外,将其余 5个字符安ASCII码降序排列。void fun(char *s,int num) char ch ;int i, j

35、 ;for(i = 1 ; i < 6 ; i+)for(j = i + 1 ; j < 6 ; j+)5=乏工兀一注丁)IO? !if(*(s + i) < *(s + j)ch = *(s + j);*(s + j) = *(s +i);*(s + i) = ch ;65、统计一个长度为2的字符串在另一个字符串中岀现的次 数。int fun(char *str, char *substr) int i,j=0;for(i=0;stri!='0'i+)if(stri=substr0&&stri+1=substr1) j+;return j;

36、66、 计算并输出给定整数n的所有因子(不包括1与自身) 之和。规定n的值不大于1000.int fun(int n) int s=0,i;for(i=2;i<=n-1;i+) if(n%i=0) s+=i; return s;67、计算double fun(int n) double t,sn=1.0; int i,j;for(i=1;i<=n;i+)t=1.0;for(j=1;jv=i;j+)t*=j;sn+=1.0/t;return sn; 68、计算并输岀x<0.97时,如下多项式的值,直到为止。1I'0double fun(double x) double

37、s1=1.0,p=1.0,sum=0.0,s0,t=1.0;int n=1;dos0=s1;sum+=s0;t*=n;p*=(0.5-n+1)*x;s仁 p/t;n+;while(fabs(s1-s0)>=1e-6); return sum;69、 计算并输岀给定10个数的方差,其中double fun(double x10) double x1=0.0,s=0.0;int i;for(i=0;i<10;i+)x仁 x1+xi;x仁 x1/10;for(i=0;i<10;i+)s=s+(xi-x1)*(xi-x1);return sqrt(s/10);70、 计算并输出给定数

38、组(长度为9)中相邻两个元素的平 均值的平方根之和。double fun(double x9)double sum=0.0;int i,j=1;for(i=0;i<9;i+)if(j<=8)sum+=sqrt(xi+xi+1)/2.0);j+;return sum;71、计算并输岀下列多项式值double fun(int n) int i;double s=0.0;for(i=1;i<=n;i+)s=s+(1.0/(2*i-1)-1.0/(2*i);return s; 72、计算并输岀多项式值1x2 1x2x3 lxlx3x-50double fun(int n) doubl

39、e sum=0,tmp=1;int i;for(i=1;i<=n;i+)tmp=tmp*i;sum+=1.0/tmp;return sum;73、 计算并输出n (包括n)以内所有能够被5或9整除的 自然数的倒数之和。double fun(int n) int i;double sum=0.0;for(i=1;i<=n;i+)if(i%5=0|i%9=0)sum+=1.0/i;return sum;74、计算并输岀3n之间所有素数的平方根之和。double fun(int n) int m,k,i;double s=0.0;for(m=3;m<=n;m+)k=sqrt(m);

40、for(i=2;i<=k;i+)=(£x)/10if(m%i=0) break;if(i>=k+1) s+=sqrt(m);return s;75、计算并输岀double fun(int n) int i;double s=0.0,s1=0.0;for(i=1;i<=n;i+)s1=s1+pow(i,0.5);s=s+s1;return s;76、统计一行字符串中单词个数,作为函数值返回。字符串 在主函数中输入,规定所有单词有小写字母组成,单词之间 有若干个空格隔开,一行的开始没有空格。int fun(char *s) int i,j=0;for(i=0;si!=&

41、#39;0'i+)2)-(1+ ,.1*1 Tbif(si!=' '&&(si+1=' '|si+1='0')j+;return j; 77、找岀成绩最低的学生记录,通过形参返回主函数(规定 只有一个最低分)。fun(STU a, STU *s) int i;*s=aO;for(i=0;i<N;i+)if(s_>s>ai.s)*s=ai;78、定义N x N二维数组,并在主函数中自动赋值。使数组右上办三角元素中的值乘以mvoid fun(int aN, int m) int i,j;for(j=0;j&l

42、t;N;j+)for(i=0;i<=j;i+)aij=aij*m; 79、定义N x N二维数组,并在主函数中自动赋值。求出数组周边元素的平均值并作为函数值返回主函数的sdouble fun (int wN) int i,j,k=0;double av=0.0;for(i=0;i<N;i+)for(j=0;j<N;j+)if(i=0|i=N-1|j=0|j=N-1)av=av+wij;k+;return av/k; 80、求岀二维数组周边元素之和,作为函数值返回。int fun( int a MN) int i,j,sum=0;for(i=0;i<M;i+)for(j=

43、0;j<N;j+)if(i=0|i=M-1|j=0|j=N-1)sum=sum+aij;return sum; 81、使变量h中的值保留两位小数,并对第三位进行四舍五 入(规定h中的值为正数)float fun (float h ) long t;t=(h*1000+5)/10;return (float)t/100; 82、实现矩阵(3行、3列)的转置(即行列互换)void fun (int array33) int i,j,t;for(i=0;i<3;i+)for(j=i+1;j<3;j+)t=arrayij;arrayij=arrayji;arrayji=t;83、 i

44、nt fun(int lim,int aaMAX)求出小于或等于 lim 的 所有素数并放在aa数组中,并返回所求出的素数的个数。int fun(int lim, int aaMAX) int i,j,k=0;for(i=2;i<=lim;i+) for(j=2;j<i;j+)if(i%j=0) break;if(j>=i)aak+=i;return k;84、从传入的num个字符中找出最长的一个字符串,通过形 参指针max传回该串地址(用*作为结束输入的标识)char *fun(char (*a)81, int num, char *max) int i=0;max=a0;

45、for(i=0;i<num;i+)if(strlen(max)<strlen(ai) max=ai;return max; 85、删除字符串中的所有空格。void fun (char *str) int i=0;char *p=str;while(*p)if(*p!='')stri=*p;i+;p+;stri='0' 86、 判断字符串是否为回文,若是,则函数返回1,主函数中输出” YES ,否则返回0,主函数输出”NC”。int fun(char *str) int i,n=0,fg=1;char *p=str;while (*p)n+;p+;fo

46、r(i=0;i<n/2;i+)if(stri=strn-1-i);elsefg=0;break;return fg; 87、将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。void fun (int (*s)10, int *b, int *n, int mm,int nn) int i,j,k=0;for(i=0;i<mm;i+) for(j=0;j<nn;j+)bk+=sij;*n=k; 88、 将s所指字符串中下标为偶数同时 ASCII值为奇数的字 符删除,s所指串中剩余的字符形成的新串放在t所指的数 组中。

47、void fun(char *s, char t) int i, j = 0 ;for(i = 0 ; i < strlen(s) ; i+)if(!(i%2) =0 &&( si%2) tj+= si;tj = 0 ;89、将ss所指字符串所有下标为奇数位置的字母转换为大 写(若该位置上不是字母,则不转换)void fun(char *ss) int i;for(i=0;ssi!='0'i+)if(i%2=1 &&ssi>='a'&&ssi<='z')ssi=ssi-32;90、

48、 将a,b中的两个正整数合并形成一个新的整数放在c 中。合并方式:将a中的十位和个位数依次放在变量 c的十 位和千位上,b中的十位和个位数依次放在变量 c的个位和 百位上。S=l/(lx2)+ 1/(2x3)+ . + l/(nx(n+ 1)void fun(int a, int b, long *c)*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);91、 m个人的成绩存放在score数组中,将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。int fun(int score,int m, int below) int i,j

49、=0;S-H-)c+jcV2! +x5/3!十+ h n!float av=0.0;for(i=0;i<m;i+)av=av+scorei/m;for(i=0;i<m;i+)if(scorei<av)belowj+=scorei;return j; 92、求岀能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。void fun (int x, int pp, int *n) int i,j=0;for(i=1;i<=x;i=i+2)if(x%i=0)ppj+=i;*n=j; 93、将大于整数m且紧靠m的k个素数存入所指的数组

50、中。void fun(int m,int k,int xx) int i,j,n;for(i=m+1,n=0;n<k;i+)for(j=2;j<i;j+)if(i%j=0) break;if(j>=i)xxn+=i; 94、 求出数组的最大元素在数组中的下标并存放在k所指向 的存储单元中。int fun(int *s,int t,int *k) int i;*k=0;for(i=0;i<t;i+)if(s*k<si) *k=i;return s*k; 95、 根据以下公式求p的值,结果由函数值带回。m与n为 两个正整数且要求 m>nlong jc(int m

51、) long s=1;int i ;for(i=1;i<=m;i+) s=s*i ;return s;float fun(int m, int n)float p;p=1.0*jc(m)/jc(n)/jc(m-n);return p;96、求小于形参n同时能被3与7整除的所有自然是之和的 平方根,并作为函数值返回。double fun( int n) double sum=0.0;int i;for(i=21; i<=n; i+)if(i % 3=0) && (i % 7=0) sum+=i;return sqrt(sum); 97、计算并输岀下列多项式的值doub

52、le fun(int n) int i;double s=0.0;for(i=1;i<=n;i+)s=s+1.0/(i*(i+1);return s;98、计算下列级数和。double fun(double x, int n) int i;double s=1.0,s1=1.0;for(i=1;i<=n;i+)s 1= s1*i;s=s+pow(x,i)/s1;return s;99、 移动字符串中的内容,移动的规则是把第1m个字符, 平移到字符串的最后,把第 m+1到最后的字符移到字符串的 前部。void fun (char *w,int m)int i,j;char t;for(i=1;i<=m;i+)t=w0;for(j=1;wj!='0'j+)wj-1=wj;wj-1=t;100、

温馨提示

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

评论

0/150

提交评论