计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值(类型转换)

思路:可以将上式分解成为分母为奇数项的总和与偶数项的总和,然后两项进行相减。

注意:在求分数相加减时应该要注意定义变量的类型应该是double型。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i;
 5     double sum;
 6     double sum1 = 0;
 7     double sum2 = 0;
 8     //奇数项和
 9     for (i = 1;i < 100;i += 2)
10     {
11         sum1 =sum1 + 1.0 / i;
12     }
13     printf("%d\n",sum1);
14     //偶数项和
15     for (i = 2;i <= 100;i += 2)
16     {
17         sum2 = sum2 + 1.0 / i;
18     }
19     printf("%d\n", sum2);
20     sum = sum1 - sum2;
21     printf("%f\n",sum);
22     return 0;
23 }

在for循环里面的sum1 = sum1 + 1.0 / i;其中定义sum1的目的是为了储存每一次计算奇数项时的总和,而

其中的1.0,是因为分数计算的输出结果不一定为整型,改为1.0可以将1.0 / i的结果改为double型,便可以储存多位小数。

原文地址:https://www.cnblogs.com/cuckoo-/p/10285537.html

时间: 2024-10-11 12:39:31

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值(类型转换)的相关文章

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

★计算1/1-1/2+1/3-1/4+1/5 -- + 1/99 - 1/100的值 #include <stdio.h> int main() { int i; double x = 1; double sum = 0; for (i = 1; i<101; i++) { sum = sum + x / i; x = x*(-1); } printf("1-1/2+1/3-1/4....-1/100=%f\n", sum); return 0; }

【c语言】 &nbsp; 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

 注意:计算时1要用double类型即1.0. 奇数偶数分开计算,再合并. #include<stdio.h> int main() { int i; double sum=0,sum1=0,sum2=0; for(i = 1;i <= 99;i+=2) { sum1=sum1+1.0/i;     } for(i = 2;i <= 100;i+=2)  {       sum2=sum2-1.0/i;  } sum=sum1+sum2; printf("%lf"

C语言:计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

 #include<stdio.h> int main() {      double sum;      int i;      for(sum=0,i=1;i<=100;i++)      {      if(i%2==1)           {           sum+=1.0/i;           }      else if(i%2==0)           {           sum-=1.0/i;           }      }      printf

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

#include <stdio.h> #include <math.h> int main() {  float sum=0.0;  int a;  int i=1;  while (i<101)  {   a=pow(-1,i+1);   sum=sum+(a*(1.0/i));   i++;  }  printf("%f\n",sum);  return 0; }

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值C语言代码

#include <stdio.h> #include <stdlib.h> int main() {  int sign = 1;  double deno = 2.0;  double sum = 1.0;  double result = 0;  while (deno <= 100)  {   sign = (-1)*sign;   result = sign / deno;   sum = sum + result;   deno = deno + 1;  }  p

js-循环-计算1+2+3 ... +98+99+100的值

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> // 计算1+2+3 ... +98+99+100的值 //1 .for循环 // 前测试循环 function sum_all() { var resul

计算1+2+3+…+100的值

5.计算1+2+3+-+100的值 参考代码如下: 1 #!.bin/bash 2 #计算1+2+3+-+100的值 3 4 #初始化变量sum=0 5 sum=0 6 7 for ((i=1;i<=100;i++)) 8 do 9 let sum+=$i 10 done 11 echo "1+2+3+-+100的值为:$sum"

输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double

题目描述 输入一个正数x和一个正整数n,求下列算式的值.要求定义两个调用函数:fact(n)计算n的阶乘:mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double. x - x2/2! + x3/3! + ... + (-1)n-1xn/n! ×输出保留4位小数. 输入 x n 输出 数列和 样例输入 2.0 3 样例输出 1.3333 提示 无 来源 无 1 #include<stdio.h> 2 double fact(int); 3 double mypow(in

计算1/1-1/2+1/3-1/4+1/5...+1/99-1/100的值

分析:根据题意可以知道,这个必须设为浮点型. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { int i = 0; double sum = 0.0; int flag = 1; for (i = 1; i <= 100; i++) { sum = sum + flag*(1.0 / i); flag = -flag; } printf("%1f\