叶不见花 2021-11-24 22:47 采纳率: 100%
浏览 19
已结题

c语言问题,询问相关结果

题目

img


我的代码

#include<stdio.h>

double f(int i)
{
    int sum=1,n=1;
    while(n<=i){
        sum=sum*n;
        n+=1;
    }
    return sum;
}

double s(double x,int i)
{
    double sum;
    if(i==0){
        sum=1;
    }
    else{
        sum=1;
        while(i>=1){
            sum=sum*x;
            i-=1;
        }
    }
    return sum;
}

double m(double x,int i)
{
    double r;
    r=s(x,i)/f(i);
    return r;    
}

int main()
{
    double x,esp,sum,h;
    int i=1;
    scanf("%lf %lf",&x,&esp);
    sum=1;
    while(1){
        if(i%2==1){
            sum=sum-m(x,i);
        }
        else{
            sum=sum+m(x,i);
        }
        h=m(x,i);
        if(h<esp){
            break;
        }
        i+=1;
    }
    printf("%.3lf",sum);
    return 0;
}


输入2 0.0001正确,但输入5 0.001错误

img


请问一下问题是在哪

  • 写回答

1条回答 默认 最新

  • bekote 2021-11-24 23:42
    关注

    第五行改为double sum=1,n=1;,因为x=5sum会超过int最大限制

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月24日

悬赏问题

  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了