使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun()的功能是计算如下公式。 并且把计算结果作为函数值返回。 例如,若形参e的值为1e-3,则函数返回值为0.

admin2023-02-27  7

问题 使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun()的功能是计算如下公式。

并且把计算结果作为函数值返回。
    例如,若形参e的值为1e-3,则函数返回值为0.551690。
    请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
    注意:部分源程序给出如下。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
1 #include<stdio.h>
2 double fun(double e)
3 {  int i,k;double s,t,x;
4    s=0; k=1; i=2;
5  /*********found*********/
6  x=<u>【1】</u>/4;
7  /*********found*********/
8  while(x<u>【2】</u>e)
9  {    s=s+k*x;
10    k=k*(-1);
11    t=2*i;
12  /*********found*********/
13    x=<u>【3】</u>/(t*t);
14    i++;
15    }
16    return s;
17 }
18 main()
19 {double e=1e-3;
20  printf("\nThe result is:%f\n",fun(e));
21  }

选项

答案(1)3.0或(double)3 (2)> (3)(t+1)

解析 本题考查:基本算术运算的类型转换。其转换规则如下。
    如果双目运算符两边运算对象的类型一致,则所得结果的类型与运算对象的类型一致。
    如果双目运算符两边运算对象的类型不一致,则系统将自动进行类型转换,使运算符两边运算对象的类型达到一致后,再进行运算。其类型转换规则如下表所示。

在while循环语句中,一般考查如何根据题意确定循环条件,以及如何通过循环变量的变化实现循环操作。
    填空1:变量x定义为double型,而运算符"/"后面是整型,因此给x赋值时,需要注意数据类型,此处应为double型。故空1处应该填3.0或(double)3。
    填空2:while循环语句的循环条件。根据题意确定循环变量应大于1e-3,故空2处应该填>。
    填空3:表达式的通项是(2*i+1)/(2*i)2,由于程序中已定义t=2*i,故空3处应该填(t+1)。  
转载请注明原文地址:https://kaotiyun.com/show/YD0D777K
0

相关试题推荐
最新回复(0)