使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。 例如,程序运行后,输

admin2023-02-27  28

问题 使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。

    例如,程序运行后,输入0.0001,则程序输出3.1414。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构!
  试题程序:
1 #include<stdlib.h>
2 #include<math.h>
3 #include<stdio.h>
4 float fun(float hum)
5 {
6    int s;
7    float n,t,pi;
8    t=1;pi=0;n=1;s=1;
9  /*********found*********/
10    while(t>=num)
11    {
12    pi=pi+t;
13    n=n+2;
14    s=-s;
15  /*********found*********/
16    t=s%n;
17    }
18    pi=pi*4;
19    return pi;
20 *
21 void main()
22 {
23    float n1,n2;
24    system("CLS");
25    printf("Enter a float numher:");
26    scanf("%f",&n1);
27    n2=fun(n1);
28    printf("%6.4f\n",n2);
29 }

选项

答案(1)while(fabs(t)>=Bum) (2)t=s/n;

解析 (1)函数fun中while语句的作用是当新的一项t大于给定参数时,将新项t累加至变量pi中。题目要求最后一项的绝对值小于给定参数,因此循环条件应修改为while(fabs(t)>=num)。
    (2)变量大的值等于s/n,而不是s%n。   
转载请注明原文地址:https://kaotiyun.com/show/ZJ0D777K
0

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