首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前七项自然对数的C程序。我没有得到正确的答案,有人能检查下面的代码吗?

前七项自然对数的C程序。我没有得到正确的答案,有人能检查下面的代码吗?
EN

Stack Overflow用户
提问于 2022-05-19 09:30:07
回答 1查看 41关注 0票数 -1

前七项自然对数的C程序。我没有得到正确的答案,谁能检查下面的代码。

代码语言:javascript
复制
#include<stdio.h>
int main(){
float x,i,sum,result=0;
printf("Enter value of x:");
scanf("%f",&x);

for(i=2;i<=7;i++)
{
    sum = (x - 1)/x;
    result = (sum + (0.5 * pow(sum,i)));
}
printf("Sum of series of Natural Logarithm is: %0.2f",result);
return 0;

}

EN

回答 1

Stack Overflow用户

发布于 2022-05-19 10:07:24

您还没有正确地实现系列

  • 迭代应该从1开始
  • 0.5只在第二学期是正确的
  • 您重写了每个术语的result,而不是对其进行求和。

这是修正后的代码。我还将float改为doublei更改为int

代码语言:javascript
复制
#include <stdio.h>
#include <math.h>

int main(void)
{
    double x, sum, result = 0;
    int i;
    printf("Enter value of x: ");
    int res = scanf("%lf", &x);
    if(res != 1 || x <= 0.5)        // validate
         return 1;

    for(i = 1; i <= 7; i++)
    {
        sum = (x - 1) / x;
        result = result + pow(sum,i) / i;
    }
    printf("Sum of series of Natural Logarithm is: %f\n", result);
    printf("The library function log() calculates: %f\n", log(x));
    return 0;
}

程序会话

代码语言:javascript
复制
Enter value of x: 0.75
Sum of series of Natural Logarithm is: -0.287697
The library function log() calculates: -0.287682
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72302029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档