double acos(double x);

acos() 函数的功能是求反余弦值。

反余弦函数 acos() 和余弦函数 cos() 的功能恰好相反:cos() 是已知一个角的弧度值 x,求该角的余弦值 y;而 acos() 是已知一个角的余弦值 y,求该角的弧度值 x。

参数

x

余弦值。x 的取值必须位于区间[-1, 1]中,如果 x 的值超出此区间,将会产生域错误(domain error)。

返回值

正常情况下(x 的取值位于区间[-1, 1]),函数返回余弦值为 x 的角的弧度数。

如果 x 的取值超出范围,那么 acos() 将发生域错误,此时返回值为 NaN。

发生域错误时,acos() 还会设置 头文件下的 errno 和 头文件下的 FE_INVALID,我们也可以借此检测出域错误。关于域错误的更多内容请猛击《域错误(domain error)》。

实例

【实例1】求 0.5 的反余弦值(正常情况)。

/* acos example */

#include /* printf */

#include /* acos */

#define PI 3.14159265

int main ()

{

double param, result;

param = 0.5;

result = acos (param) * 180.0 / PI; //将弧度转换为度

printf ("The arc cosine of %f is %f degrees.\n", param, result);

return 0;

}

运行结果:

The arc cosine of 0.500000 is 60.000000 degrees.

【实例2】求 2 的反余弦值(发生域错误)。

/* acos example */

#include /* printf */

#include /* acos */

#include /* errno */

#include /* FE_INVALID */

#define PI 3.14159265

int main()

{

double result;

result = acos(2) * 180.0 / PI;

printf("result is :%f\n", result);

if (errno == EDOM) {

perror("errno == EDOM");

}

if (fetestexcept(FE_INVALID)) {

printf("FE_INVALID is set\n");

}

return 0;

}

在 VS2015 下的运行结果:

result is :-nan(ind)

errno == EDOM: Domain error

FE_INVALID is set

在 GCC 下的运行结果:

result is :nan

errno == EDOM: Numerical argument out of domain

FE_INVALID is set

在 Xcode 下的运行结果:

result is :nan

FE_INVALID is set

不同的编译器对 NaN 的输出不同,具体原因请猛击《NaN(Not a Number),表示一个无效数字》。

Xcode 使用了较新的 C99 标准,当发生域错误时,不再设置 errno 的值了。

如何用反余弦求pi c语言,acos()_C语言acos()详解:反余弦函数,求反余弦值相关推荐

  1. c语言递归算法老鼠走迷宫详解,递归算法求老鼠走迷宫(C语言)

    /*说明老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁, 使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径. 解法老鼠的走法有上.左.下.右四个方向,在每前进一格之后就选 ...

  2. 基于C语言的JPEG编码代码详解

    一.基于C语言的JPEG编码代码详解 #include <stdio.h> #include <stdlib.h> #include <string.h>#prag ...

  3. 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...

    <大学C语言期末考试练习题(带详解答案)>由会员分享,可在线阅读,更多相关<大学C语言期末考试练习题(带详解答案)(55页珍藏版)>请在金锄头文库上搜索. 1.一. 单项选择题 ...

  4. c语言线性表库函数大全,数据结构(C语言版)-线性表习题详解

    <数据结构(C语言版)-线性表习题详解>由会员分享,可在线阅读,更多相关<数据结构(C语言版)-线性表习题详解(23页珍藏版)>请在人人文库网上搜索. 1.数 据 结 构 ,线 ...

  5. c语言 read 文件字节没超过数组大小时会怎样_剑指信奥 | C 语言之信奥试题详解(四)...

    趣乐博思剑指信奥系列 ❝ 趣乐博思剑指信奥系列,专门针对全国青少年信息学奥林匹克联赛 NOIP 而开展的专业教育方案.开设的课程有 C 语言基础,C++ 语言基础,算法设计入门与进阶,经典试题分析与详 ...

  6. C语言 计算选手的名次 详解

    C语言 计算选手的名次 详解 我是JaYLove0589. 本着程序员互相学习的原则, 且因自己深受此题困扰,对递归函数的使用不熟练,所以发下面代码. 望大家指正. 题目描述: 5位选手参加100米决 ...

  7. C语言 字符数组 和 字符串 详解

    C语言 字符数组 和 字符串 详解 用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ...

  8. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  9. php函数find的用法,c语言find函数的用法详解

    c语言find函数的用法详解 C语言之find()函数 find函数用于查找数组中的某一个指定元素的位置. 比如:有一个数组[0, 0, 5, 4, 4]: 问:元素5的在什么位置,find函数 返回 ...

  10. php 去重_php求两数组交集的四种方法详解

    题目:给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5 ...

最新文章

  1. androidwakelock_Android音频播放时wakelock的实现
  2. 如何仅用递归函数和栈操作逆序一个栈
  3. 算法与数据结构 - 滑动窗口
  4. Android官方开发文档Training系列课程中文版:构建第一款安卓应用之工程创建
  5. C/C++的思索 C++之父访谈录
  6. 高颜值网易云音乐第三方播放器 YesPlayMusic Mac中文版 支持m1
  7. cocos2d-x学习 之四
  8. elasticsearch索引的初始化操作以及marvel操作(增删改查),批量查询_mget,批量操作_bulk
  9. hdu 1045 Fire Net
  10. 一文详解双目视觉目标检测
  11. pr下载与安装(含安装包百度网盘链接)
  12. 春节红包战:他们到底在争什么?
  13. python正则表达式与re模块
  14. 国外开放知识图谱_什么是开放知识,如何传播?
  15. 单核cpu多核cpu如何执行多线程
  16. qt 不规则图形 消除锯齿
  17. ysoserial CC5利用链分析
  18. Mysql 认证步骤
  19. 办公和设计必备|矢量图设计软件
  20. 安装配置Maven构建工具

热门文章

  1. 我也要加油了,博客记录生活点滴。
  2. Jmeter察看结果树之CSSJQuery_Tester使用
  3. 追番插件 收藏动漫 记录动漫播放时间
  4. 几何级数(简单示例)
  5. ubuntu 20.04安装mysql 5.7
  6. C语言 输出3X3的转置矩阵
  7. 在线图片翻转、旋转工具
  8. Unity初学4——帧动画以及主角攻击(2d)
  9. Numpy精炼操作大全
  10. TDD 测试驱动开发与精益