E3) 請引用表頭檔 math.h, 以雙精確度 double
計算 sin(0), sin(PI/2), tan(PI/2), sin(37 deg.)...
# include <stdio.h>
# include <math.h>
# define M_PI 3.14159265358979323846 /* pi */
# define M_PI_2 1.57079632679489661923 /* pi/2 */
# define M_PI_4 0.78539816339744830962 /* pi/4 */
int main()
{
printf( "Caculated:\n"
"\tsin(0) == %f,\n"
"\tsin(PI/2) == %f,\n"
"\ttan(PI/2) == %f,\n"
"\tsin(37 deg.) == %f\n",
sin(0), sin(M_PI_2),
tan(M_PI_2), sin(37.0 * M_PI / 180.0)
);
return 0;
}
Common)
@ 熟習其他的脫逸字元 (escape sequence), 如 \t, \a 等等.
@ 標準的數學函式都是回傳 double.
@ 圓周率要自己生出來.
@ sin(), tan() 的參數是弳度.
Advanced)
@ 上面這些數學函式...
都不會出現 NaN(not a number), 無限大或無限小.
但不代表他們的運算也不會.
tan(0)/tan(0) -> NaN,
1/tan(0) -> positive infinity
-1/tan(0) -> negtive infinity
@ math library 不是內定連結的 C 函式庫.
@ \e(^[) 不是標準的 C escapse sequence.
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.160.129