第1套
程序填空题:
给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。
例如,当形参n的值为10时,函数返回:9.612558。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
#include
double fun(int n)
{ int i; double s, t;
/**********found**********/
s=__1__;
/**********found**********/
for(i=1; i<=__2__; i++)
{ t=2.0*i;
/**********found**********/
s=s+(2.0*i-1)*(2.0*i+1)/__3__; }
return s;}
main()
{ int n=-1;
while(n<0) { printf("Please input(n>0): "); scanf("%d",&n);}
printf("\nThe result is: %f\n",fun(n));}
程序修改题:
给定程序MODI1.C中函数fun的功能是:统计substr所指子字符串在str所指字符串中出现的次数。
例如:若字符串为aaas lkaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
int fun (char *str,char *substr)
{ int i,j,k,num=0;
/************found************/
for(i = 0,str[i],i++)
for(j=i,k=0;substr[k]==str[j];k++,j++)
/************found************/
If(substr[k+1]=='\0')
{ num++; break; }
return num;}
main()
{ char str[80],substr[80];
printf("Input a string:") ; gets(str);
printf("Input a substring:") ; gets(substr);
printf("%d\n",fun(str,substr));}
程序设计题:
请编写一个函数fun,它的功能是:根据以下公式求Π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):
程序运行后,如果输入精度0.0005,则程序输出为3.14…。
注意:部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
double fun ( double eps)
{……}
main( )
{ double x;
printf("Input eps:") ; scanf("%lf",&x);
printf("\neps = %lf, PI=%lf\n", x, fun(x));}
第2套
程序填空题:
给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。
#include
#include
#define N 8
typedef struct list
{ int data; struct list *next;} SLIST;
SLIST *creatlist(char *);
void outlist(SLIST *);
int fun( SLIST *h, char ch)
{ SLIST *p; int n=0;
p=h->next;
/**********found**********/
while(p!=___1___)
{ n++;
/**********found**********/
if (p->data==ch) return ___2___;
else p=p->next; }
return 0;}
main()
{ SLIST *head; int k; cha