当前位置:文档之家› 二级C语言程序设计题

二级C语言程序设计题

C 语言程序设计请编写函数fun ,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函数。

int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}编写函数fun ,其功能是:根据以下公式求π的值(要求精度,即某项小于时停止迭代)。

()1121231234121233535735793521n n π⨯⨯⨯⨯⨯⨯⨯⨯⨯=++++++⨯⨯⨯⨯⨯⨯⨯⨯⨯+………… 程序运行后,若输入精度,则程序应输出为…。

double fun ( double eps){double s=,s1=;int n=1;while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/{s1=s1*n/(2*n+1); /*求多项式的每一项*/s=s+s1; /*求和*/n++;}return 2*s;}编写函数fun ,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a 所指的数组中,通过n 返回这些数的个数。

void fun (int *a, int *n){int i,j=0;for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a 中*/if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}规定输入的字符串中只包含字母和*号。

编写函数fun,其功能是:删除字符串中所有的*号。

编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:ABCDEFG。

void fun( char *a ){int i,j=0;for(i=0;a[i]!='\0';i++)if(a[i]!='*')a[j++]=a[i]; /*若不是要删除的字符'*'则留下*/a[j]='\0';}规定输入的字符串中只包含字母和*号。

编写函数fun,其功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。

例如,字符串中的内容为:"*******A*BC*DEF*G****",删除后字符串中的内容应当是:"A*BC*DEF*G****"。

编写函数时,不得使用C语言提供的字符串函数。

void fun( char *a ){char *p=a;while(*p=='*') p++; /*指针p指向字符串第一个字母*/for(;*p!='\0';p++,a++)*a=*p; /*从第一个字母开始,其后的字符都放入指针a所指的字符串中*/*a='\0'; /*在字符串最后加上字符串结束标识*/}假定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其它的*号全部删除。

形参p已指向字符串中最后的一个字母。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是ABCDEFG*******。

void fun( char *a, char *p ){char *t=a;for(;t<=p;t++)if(*t!='*')*(a++)=*t;for(;*t!='\0';t++)*(a++)=*t;*a='\0';/*在字符串最后加上字符串结束标识*/}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:只删除字符前导和尾部的*号,串中字母间的*号都不删除。

形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"A*BC*DEF*G"。

void fun( char *a, int n,int h,int e ){int i,j=0;for(i=h;i<n-e;i++) /*第一个字母和最后一个字母之间的字符全不删除*/a[j++]=a[i];a[j]='\0'; /*在字符串最后加上结束标识*/}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其它*号全部删除。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。

void fun( char *a ){int i=0;char *p=a;while(*p&&*p=='*'){a[i]=*p;i++;p++;}while(*p){if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。

例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"****A*BC*DEF*G"。

在编写函数时,不得使用C语言提供的字符串函数。

void fun( char *a ){while(*a!='\0')a++;a--; /*指针a指向字符串的尾部*/while(*a=='*')a--; /*指针a指向最后一个字母*/*(a+1)='\0'; /*在字符串最后加上结束标志符*/}规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。

例如,字符串中的内容为:"*******A*BC*DEF*G****",移动后,字符串中的内容应当是:"A*BC*DEF*G***********"。

在编写函数时,不得使用C语言提供的字符串函数。

void fun( char *a ){int i=0,n=0;char *p;p=a;while (*p=='*') /*判断*p是否是*号,并统计*号的个数*/{n++;p++;}while(*p) /*将前导*号后的字符传递给a*/{a[i]=*p;i++;p++;}while(n!=0){a[i]='*';i++;n--;}a[i]='\0';}编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:FirstString--SecondString程序输出:FirstString--SecondStringvoid fun(char p1[], char p2[]){int i,j;for(i=0;p1[i]!='\0';i++) ;for(j=0;p2[j]!='\0';j++)p1[i++]=p2[j];p1[i]='\0';}某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:,76,,85,91,72,,,则他的平均分应为。

void fun(STREC *a){int i;a->ave=;for(i=0;i<N;i++)a->ave=a->ave+a->s[i]; /*求各门成绩的总和*/a->ave/=N; /*求平均分*/}N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,其功能是:求出平均分,并由函数值返回。

例如,若学生的成绩是:8576698591726487,则平均分应当是:。

double fun( STREC *h ){double ave=;STREC *p=h->next;while(p!=NULL){ ave=ave+p->s;p=p->next;}return ave/N;}编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:46891012141516。

void fun( int m, int *k, int xx[] ){int i,j,n=0;for(i=4;i<m;i++) /*找出大于1小于整数m的非素数*/{ for(j=2;j<i;j++)if(i%j==0) break;if(j<i) xx[n++]=i;}*k=n; /*返回非素数的个数*/}编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串2,输入字符为1,则输出3。

int fun(char *ss, char c){int i=0;for(;*ss!='\0';ss++)if(*ss==c)i++;/*求出ss所指字符串中指定字符的个数*/return i;}编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。

例如:若有5门课程的成绩是:,72,80,,55,则函数的值为:。

float fun ( float *a , int n ){int i;float av=;for(i=0; i<n;i++) /*求分数的总和*/av=av+a[i];return(av/n); /*返回平均值*/}学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。

注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

int fun( STREC *a, STREC *b ){int i,j=0,max=a[0].s;/*找出最大值*/for(i=0;i<N;i++)if(max<a[i].s) max=a[i].s;for(i=0;i<N;i++)if(max==a[i].s)b[j++]=a[i]; /*找出成绩与max相等的学生的记录,存入结构体b中*/ return j; /*返回最高成绩的学生人数*/}编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。

相关主题