西电期末1029.计算正弦函数

2024-01-07 18:30:14

一.题目

3343decf7cca493fba69732ed5269e54.png

二.分析与思路

根据题目带通项即可,注意数据类型!!所有参与最后结果的变量都要变成浮点型,不然会损失精度,公式不要带错了!!!

三.代码实现

#include<bits/stdc++.h>//万能头
double f(int n){
    int ans1=1;
    for(int i=1;i<=n;i++){
        ans1*=i;
    }
    double ans2=ans1*1.0;
    return ans2;
}//计算阶乘(浮点型)
int main()
{
    int n;
    double x;
    scanf("%d%lf",&n,&x);
    double ans=0;
    for(int i=1;i<=n;i++){
        if(i%2!=0){
            ans+=pow(x,2*i-1)/f(2*i-1);
        }
        else{
            ans-=pow(x,2*i-1)/f(2*i-1);
        }
    }//带公式
    printf("%.4lf",ans);//精度
    return 0;
}

四.评价

#include<bits/stdc++.h>//万能头
int main()
{
    int n;
    double x;
    scanf("%d%lf",&n,&x);
    double ans=sin(x);
    printf("%.4lf",ans);//精度
    return 0;
}

因为C库是有sin函数的(doge),但是精度太高了,所以答案是对的,但是过不了(qaq)

?

文章来源:https://blog.csdn.net/pboaths/article/details/135442161
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。