请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
double fun(double e)
{int i, k; double s, t, x;
s=0; k=1; i=2;
/**********found**********/
x=__1__/4;
/**********found**********/
while(x __2__ e)
{s=s+k*x;
k=k* (-1);
t=2*i;
/**********found**********/
x=__3__/(t*t);
i++;
}
return s;
}
main()
{double e=1e-3;
printf("\nThe result is: %f\n",fun(e));
}
解题答案:
/**********第一空**********/
x=3./4;
/**********第二空*********/
while(x > e)
/**********第三空*********/
x=(2*i+1)/(t*t);
****************************************** [NextPage] 二、改错题:给定程序MODI1.C中函数 fun 的功能是:求出以下分数序列的前n项之和。和
值通过函数值返回到main函数。
2 3 5 8 13 21
┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ……
1 2 3 5 8 13
例如,若n = 5,则应输出:8.391667。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
/************found************/
void fun (int n)
{int a, b, c, k; double s;
s = 0.0; a = 2; b = 1;
for (k = 1; k <= n; k++) {
/************found************/
s = s + (Double)a / b;
c = a; a = a + b; b = c;
}
return s;
}
main()
{int n = 5;
printf("\nThe value of function is: %lf\n", fun (n));
}
解题答案:
/************found************/
double fun(int n)
/************found************/
s=s+(double)a/b;
******************************************
[NextPage] 三、程序题:请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define M 4
int fun (int a[][M])
{
}
main()
{int arr[2][M]={5,8,3,45,76,-4,12,82} ;void NONO ();
printf("max =%d\n", fun(arr));
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *wf ;
int arr[][M]={5,8,3,90,76,-4,12,82} ;
wf = fopen("out.dat","w");
fprintf(wf, "max=%d\n", fun(arr));
fclose(wf);
}
参考答案:
fun (int a[][M])
{
int i, j, max=a[0][0];
for(i=0; i<2; i++)
for(j=0; j
return max;
}
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|