设为首页 加入收藏

TOP

C语言编程笔试题(第四十二套)
2014-11-24 01:20:13 来源: 作者: 【 】 浏览:7
Tags:语言编程 试题 四十二

编程题:


92.请编写函数fun,它的功能是计算:


s = (ln(1)+ln(2)+ln(3)+…+ln(m))0.5


s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:double log(double x)。例如,若m的值为20,则fun函数值为6.506583。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#include


#include



double fun( int m )


{


}



main()


{


clrscr();


printf(“%f\n”,fun(20));


}



93.请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。



例如,当n=10,x=0.3时,函数值为1.349859。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#include


#include



double fun( double x, int n)


{


}



main()


{


clrscr();


printf(“%f\n”, fun(0.3,10));


}



改错题:


21.下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。


函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。


请改正函数fun中的错误,使它能得出正确的结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include


#include


typedef struct aa


{


int data;


struct aa *next;


} NODE;


/********found********/


fun(NODE *h)


{


int max=-1;


NODE *p;


p=h;


while(p)


{


if(p->data>max)


max=p->data;


/********found********/


p=h->next;


}


return max;


}


outresult(int s,FILE *pf)


{


fprintf(pf,”\nThe max in link : %\n”,s);}



NODE *creatlink(int n,int m)


{


NODE *h, *p, *s, *q;


int i, x;


h=p=(NODE *)malloc(sizeof(NODE));


h->data=9999;


for(i=1; i<=n; i++)


{


s=(NODE *)malloc(sizeof(NODE));


s->data=rand()%m;


s->next=p->next;


p->next=s;


p=p->next;


}


p->next=NULL;


return h;


}


outlink(NODE *h,FILE *pf)


{


NODE *p;


p=h->next;


fprintf(pf,”\nTHE LIST:\n\n HEAD”);


while(p)


{


fprintf(pf,”->%d “,p->data);


p=p->next;


}


fprintf(pf,”\n”);


}


main()


{


NODE *head; int m;


clrscr();


head=creatlink(12,100);


outlink(head,stdout);


m=fun(head);


printf(“\nTHE RESULT :\n”);


outresult(m,stdout);


}




24.下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指子串的个数作为函数值返回。例如,当S所指字符串中的内容为abcdabfab,t所指字符串的内容为ab,则函数返回整数3。


请改正程序中的错误,使它能得出正确的结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include


#include



int fun(char *s,char *t)


{


int n;


char *p,*r;


n=0;


while(*s)


{


p=s;


r=t;


while(*r)


/********found********/


if(r==p)


{


r++;


p++;


}


else


break;


/********found********/


if(r==’\0′)


n++;


s++;


}


return n;


}



main()


{


char s[100],t[100];


int m;


clrscr();


printf(“\nPlease enter string s:”);


scanf(“%s”,s);


printf(“\nPlease enter substring t:”);


scanf(“%s”,t);


m=fun(s,t);


printf(“\nThe result is: m=%d\n”,m);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编程笔试题(第四十一套) 下一篇C语言编程笔试题(第四十三套)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: