下列给定程序中,函数fun的功能是:计算如下公式 直到≤10-3,并且把计算结果作为函数值返回。 例如,若形参e的值为1e一3,则函数返回值为0.551690。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出

admin2021-04-28  40

问题 下列给定程序中,函数fun的功能是:计算如下公式

直到≤10-3,并且把计算结果作为函数值返回。
例如,若形参e的值为1e一3,则函数返回值为0.551690。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
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));
}

选项

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

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

while循环语句,一般考查如何根据题意确定循环条件,以及如何通过循环变量的变化实现循环操作。
填空1:变量x定义为double类型,而运算符“/”后面是整型数,因此给x赋值时,需要注意数据类型,此处不能将3.0写成3。
填空2:while循环语句的循环条件。根据题意确定循环变量应大于1e一3,因此此处应填“>”。
填空3:表达式的通项是(2*i+1)/(2*i)2,由于程序中已定义t=2*i,所以此处应该填写(t+1)。
本题填空1还可以运用强制类型转换来实现。强制类型转换是通过类型转换运算来实现的,其一般形式为“(类型说明符)(表达式)”。其功能是:把表达式的运算结果强制转换成类型说明符所表示的类型。
例如:
(float)a    把a转换为实型
(int)(x+y)    把x+y的结果转换为整型
转载请注明原文地址:https://jikaoti.com/ti/Oxz0FFFM
0

最新回复(0)