秋灯烬 发表于 2022-3-13 17:01:42

新人求助

本帖最后由 秋灯烬 于 2022-3-13 17:26 编辑

//计算两个printf对应的式子
#include<stdio.h>
int s(int n);

int main(void)
{
        double i;
        int n;

        printf("输入您的项数\n");
        while (scanf_s("%d", &n) == 1 && n > 0)//让用户输入项数
        {
                double rest1 = 0.0;//初始化rest1
                double rest2 = 0.0;//初始化rest2
                for (i = 1; i <= n; i++)
                {
                        rest1 += 1.0 / i;//计算rest1的值
                }
                for (i = 1; i <= n; i++)
                {
                        rest2 += (1.0 / i) * s(n);//计算rest2的值,这里有问题
                }
                printf("1.0 + 1.0/2.0 + 1.0/3.0 +...的n项和为:%g\n",rest1);
                printf("1.0 - 1.0/2.0 + 1.0/3.0 -...的n项和为:%g\n",rest2);
        }
        return 0;
}
ints(int n)
{
        int a;
        int sum = 1;

        for (a = 1; a <= (n - 1);a++)
        {
                sum *= -1;
        }
       

        return sum;
}

大佬们 rest 2计算不对,我想让程序比如说输入2,rest2 = 0.5,但是出不来这个结果,感觉成了整个答案乘了正负1,不知道怎么解决。

isdkz 发表于 2022-3-13 17:14:41

//计算两个printf对应的式子
#include<stdio.h>
int s(int n);

int main(void)
{
      double i;
      int n;

      printf("输入您的项数\n");
      while (scanf_s("%d", &n) == 1 && n > 0)//让用户输入项数
      {
                double rest1 = 0.0;//初始化rest1
                double rest2 = 0.0;//初始化rest2
                for (i = 1; i <= n; i++)
                {
                        rest1 += 1.0 / i;//计算rest1的值
                }
                for (i = 1; i <= n; i++)
                {
                        rest2 += (1.0 / i) * s(i);//计算rest2的值,这里有问题             这里应该是 * s(i)
                }
                printf("1.0 + 1.0/2.0 + 1.0/3.0 +...的n项和为:%g\n",rest1);
                printf("1.0 - 1.0/2.0 + 1.0/3.0 -...的n项和为:%g\n",rest2);
      }
      return 0;
}
ints(int n)
{
      int a;
      int sum = 1;

      for (a = 1; a <= (n - 1);a++)
      {
                sum *= -1;
      }
      

      return sum;
}

秋灯烬 发表于 2022-3-13 17:25:51

大佬们我解决了~~,我还找到两个更简单的方法
页: [1]
查看完整版本: 新人求助