二级C语言程序设计题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C语言程序设计题
————————————————————————————————作者: ————————————————————————————————日期:
ﻩ
C语言程序设计
请编写函数fu n,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函数。
in t f un (int a [][M])
{
in t i ,j,max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j if(ma x<a[i][j]) max=a[i][j]; retu rn ma x; } 编写函数fun ,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。 () 1121231234121233535735793521n n π⨯⨯⨯⨯⨯⨯⨯⨯⨯=++++++⨯⨯⨯⨯⨯⨯⨯⨯⨯+………… 程序运行后, 若输入精度0.0005,则程序应输出为3.14…。 doub le fun ( d ouble e ps) { double s=1.0,s1=1.0; in t n=1; whil e(s1>=eps ) /*当某项大于精度要求时,继续求下一项*/ {s1=s1*n/(2*n +1); /*求多项式的每一项*/ s=s+s1; /*求和*/ n++; } ret urn 2*s; } 编写函数fu n,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a 所指的数组中,通过n 返回这些数的个数。 v oid f un (int *a, int *n) { int i ,j=0; for (i =1;i<=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/ i f((i %7==0||i%11==0)&&i %77!=0) *n=j; } 规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:ABCDEFG。 voidfun(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*******。 voidfun( char*a, char*p) { char*t=a; for(;t<=p;t++) if(*t!='*') for(;*t!='\0';t++) *(a++)=*t; *a='\0'; /*在字符串最后加上字符串结束标识*/ } 规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:只删除字符前导和尾部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"A*BC*DEF*G"。 voidfun( char*a,int n,inth,int e ) { inti,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';