2009二级C语言南开100题编程题答案(3)

2018-11-22 21:25

max=q->s; q=q->next; }

while(q!=0); return max; }

23: 第23题 请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。 答案:

int fun(char *str) {

int I,n=0;fg=1; char *p=str; while (*p) { n++; p++; }

for(i=0;i<n/2;i++) if (str[i]==str[n-1-i]); else { fg=0; break; }

return fg; }

24: 第24题 请编写一个函数fun,它的功能是:将一个字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的函数)。 答案:

long fun (char *p) {

long s=0,t;

int i=0,j,n=strlen(p),k,s1; if(p[0]==‘-’) i++;

for(j=I;j<=n-1;j++) {

t=p[j]-‘0’; s1=10;

11

for(k=j;k<n-1;k++) t*=s1; s+=t; }

if(p[0]==‘-’) return –s; else return s; }

25: 第25题 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 答案:

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; else p=t; return p; }

26: 第26题 请编写一个函数fun,它的功能是:根据以下公式求x的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):

x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1) 程序运行后,如果输入精度0.0005,则程序输出为3.14…。 答案:

double fun(double eps) { double s;

12

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题 请编写一个函数fun,它的功能是:求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 答案:

void fun(int m, int *a, int *n) {

int I,j=0; *n=0; for(i=1;i<=m;i++) if (i%7==0 || i ==0) { a[j]=I; j++; } *n=j; }

28: 第28题 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 答案:

void fun (int a[],int n, int *max, int *d) { int I; *max=a[0]; *d=0;

for(i=0;I<n;i++) if(a[i]>*max) {

*max=a[i]; *d=I;

13

} }

29: 第29题 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 答案:

void fun(char *ss) { int I,n; n=strlen(ss); for(i=1;i<n;i+=2)

if(ss[i]>=‘a’&& ss[i]<=‘z’) ss[i]=ss[i]-32; }

30: 第30题 请编写一个函数fun,它的功能是:求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数。 答案:

int fun(int a[][M]) {

int I,j,max; max=a[0][0]; for(i=0;i<2;i++) for(j=0;j<M;j++) if(a[i][j]>max) max=a[i][j]; return max; }

31: 第31题 请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在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&&s[i]%2==0) {

t[j]=s[i]; j++;

14

}

t[j]=‘\\0’; }

32: 第32题 请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在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&&s[i]%2!=0) {

t[j]=s[i]; j++; }

t[j]=‘\\0’; }

33: 第33题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 答案:

void fun(char *a,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<t+n) {

15


2009二级C语言南开100题编程题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新中国交通银行招聘考试笔试试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: