栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > C++面试题库

C语言编程笔试题(第四十二套)

C语言编程笔试题(第四十二套)

编程题:

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 <conio.h>

#include <math.h>

#include <stdio.h>

 

double  fun( int  m )

{

}

 

main()

{

clrscr();

printf(“%fn”,fun(20));

}

 

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

 

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

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

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

#include <conio.h>

#include <stdio.h>

#include <math.h>

 

double fun( double x, int n)

{

}

 

main()

{

clrscr();

printf(“%fn”, fun(0.3,10));

}

 

改错题:

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

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

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

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

试题程序:

#include <stdio.h>

#include<conio.h>

#include<stdlib.h>

typedef struct aa

{

int data;

struct aa *next;

} NODE;

fun(NODE *h)

{

int max=-1;

NODE *p;

p=h;

while(p)

{

if(p->data>max)

max=p->data;

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:nn 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 <conio.h>

#include <stdio.h>

#include <string.h>

 

int fun(char *s,char *t)

{

int n;

char *p,*r;

n=0;

while(*s)

{

p=s;

r=t;

while(*r)

if(r==p)

{

r++;

p++;

}

else

break;

if(r==’’)

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=%dn”,m);

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/265389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号