qq_55114193 2021-05-25 20:55 采纳率: 0%
浏览 15

习题5-7 使用函数求余弦函数的近似值解析(我的代码问题出在哪)?

我的代码

#include <stdio.h>
#include <math.h>

double funcos( double e, double x );

int main()
{    
    double e, x;

    scanf("%lf %lf", &e, &x);
    printf("cos(%.2f) = %.6f\n", x, funcos(e, x));

    return 0;
}
int digui(int n)
{
    if (n == 0){
        return 1;
    }
    else{
        return n*digui(n-1);
    }
}
double funcos( double e, double x )//输入e == 0.01 x = -3.14 
{
    int i = 0,flag = 1;
    double sum_1,sum_2 = 0;//sum_1是最后一项,sum_2是和 
    sum_1 = flag*pow(x,i) / digui(i);
    sum_2+= sum_1;
    while(abs(sum_1)> e ){
        flag = -flag;
        i += 2;
        sum_1 = flag*pow(x,i) / digui(i);
        sum_2+= sum_1;
        if ((abs(sum_1) < e){
            printf("sum_1=%lf e = %f\n",sum_1,e);
        }
    } 
    return sum_2;
}

输入0.01 -3.14;

结果

为什么当sum_1= 0.234378 时,会被认为 sum_1 < 0.01?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 三菱变频器模块怎么检测触发
    • ¥30 求一下解题思路,完全不懂。
    • ¥30 关于#硬件工程#的问题:求一下解题思路
    • ¥15 运筹学对偶单纯行法构造扩充问题
    • ¥20 XP系统的老电脑一开机就提示找不到rundll.exe,付费求解
    • ¥15 milvus查询出来的score怎么转换成0-1之间的相似性
    • ¥15 lvgl V9移植到linux开发板
    • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
    • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗
    • ¥15 Sharepoint JS开发 付费技术指导