zoukankan      html  css  js  c++  java
  • pow函数(数学次方)在c语言的用法,两种编写方法实例( 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99

     

    头文件:#include <math.h>

    pow() 函数用来求 x 的 y 次幂(次方),x、y及函数值都是double型 ,其原型为:
        double pow(double x, double y);

    pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。

    可能导致错误的情况:
    如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error 错误。
    如果底数 x 和指数 y 都是 0,可能会导致 domain error 错误,也可能没有;这跟库的实现有关。
    如果底数 x 是 0,指数 y 是负数,可能会导致 domain error 或 pole error 错误,也可能没有;这跟库的实现有关。
    如果返回值 ret 太大或者太小,将会导致 range error 错误。

    错误代码:
    如果发生 domain error 错误,那么全局变量 errno 将被设置为  EDOM;
    如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。
    Math.pow(底数,几次方)
    如:double a=2.0;
        double b=3.0;
    double c=Math.pow(a,b);
    就是2的三次方是多少;
    c最终为8.0;


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

    分别用了两种方法计算,第一种比较简单用了两个for循环,第二个采用pow函数,用了一个for循环:

    第一个程序:

     

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 int main()
     4 {
     5     //将分成两部分进行
     6     int i;
     7     double j = 0.0, k = 0.0;
     8     int a;
     9     double b = 0.0, c = 0.0;
    10     double d;
    11     for (i = 1; i <= 50; i++){
    12         j =1.0/ (2.0 * i - 1.0);
    13         k = k + j;
    14 
    15     }
    16     for (a = 1; a <= 50; a++){
    17         b = -1.0/(2.0 * a);
    18         c = c + b;
    19 
    20     }
    21     d = k + c;
    22     printf("%f
    ", d);
    23     system("pause");
    24     return 0;
    25 }

    第二个程序:

     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<stdlib.h>
     4 int main()
     5 {
     6     int i;
     7     double sum = 0.0, temp = 0.0;
     8     for (i = 1; i <= 100; i++)
     9     {
    10         temp = pow(-1, i + 1);
    11         sum = sum + temp * 1 / i;
    12     }
    13     printf("sum is %f
    ", sum);
    14     system("pause");
    15     return 0;
    16 }

    运行结果一样,也是0.688172.

  • 相关阅读:
    CF280C Game on Tree 概率与期望
    bzoj 3420: Poi2013 Triumphal arch 树形dp+二分
    bzoj 2111: [ZJOI2010]Perm 排列计数 Lucas
    bzoj 3709: [PA2014]Bohater 贪心
    bzoj 1396/2865: 识别子串 后缀自动机+线段树
    【教程】如何搭建一个自己的网站
    C#单例设计模式
    C#双缓冲代码
    Hibernate的查询功能
    hibernate事务规范写法
  • 原文地址:https://www.cnblogs.com/hetaoyuan/p/10070232.html
Copyright © 2011-2022 走看看