鱼C论坛

 找回密码
 立即注册
查看: 1797|回复: 6

[已解决]关于数学符号pi(3.1415926......)在C语言中引用的提问

[复制链接]
发表于 2020-2-26 13:16:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大佬好!我想请问C语言里有类似于Python的里面的引用数学符号的功能吗?我记得在Python里面有一个import(math.pi)就能直接引用pi了。可我在C语言中用了
#include <math.h>之后pi仍然没定义,难道C语言中就不能引用么?只能自己定义pi的具体数值吗?谢谢谢谢谢谢指教!
最佳答案
2020-2-26 13:42:18
  1.     #define M_E        2.71828182845904523536   // e
  2.     #define M_LOG2E    1.44269504088896340736   // log2(e)
  3.     #define M_LOG10E   0.434294481903251827651  // log10(e)
  4.     #define M_LN2      0.693147180559945309417  // ln(2)
  5.     #define M_LN10     2.30258509299404568402   // ln(10)
  6.     #define M_PI       3.14159265358979323846   // pi
  7.     #define M_PI_2     1.57079632679489661923   // pi/2
  8.     #define M_PI_4     0.785398163397448309616  // pi/4
  9.     #define M_1_PI     0.318309886183790671538  // 1/pi
  10.     #define M_2_PI     0.636619772367581343076  // 2/pi
  11.     #define M_2_SQRTPI 1.12837916709551257390   // 2/sqrt(pi)
  12.     #define M_SQRT2    1.41421356237309504880   // sqrt(2)
  13.     #define M_SQRT1_2  0.707106781186547524401  // 1/sqrt(2)
复制代码


使用这些常量需要添加
  1. #define _USE_MATH_DEFINES
  2. #include <math.h>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-26 13:40:38 | 显示全部楼层
  1. #include <stdio.h>

  2. #define _USE_MATH_DEFINES
  3. #include <math.h>

  4. int main(void)
  5. {
  6.         printf("%lf\n", M_PI);
  7.         return 0;
  8. }
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
sulley + 5 + 5 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-26 13:42:18 | 显示全部楼层    本楼为最佳答案   
  1.     #define M_E        2.71828182845904523536   // e
  2.     #define M_LOG2E    1.44269504088896340736   // log2(e)
  3.     #define M_LOG10E   0.434294481903251827651  // log10(e)
  4.     #define M_LN2      0.693147180559945309417  // ln(2)
  5.     #define M_LN10     2.30258509299404568402   // ln(10)
  6.     #define M_PI       3.14159265358979323846   // pi
  7.     #define M_PI_2     1.57079632679489661923   // pi/2
  8.     #define M_PI_4     0.785398163397448309616  // pi/4
  9.     #define M_1_PI     0.318309886183790671538  // 1/pi
  10.     #define M_2_PI     0.636619772367581343076  // 2/pi
  11.     #define M_2_SQRTPI 1.12837916709551257390   // 2/sqrt(pi)
  12.     #define M_SQRT2    1.41421356237309504880   // sqrt(2)
  13.     #define M_SQRT1_2  0.707106781186547524401  // 1/sqrt(2)
复制代码


使用这些常量需要添加
  1. #define _USE_MATH_DEFINES
  2. #include <math.h>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-26 14:19:05 | 显示全部楼层
谢谢您!承蒙大佬指教。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-26 15:10:30 | 显示全部楼层

#include <stdio.h>

#define _USE_MATH_DEFINES
#include <math.h>

#define C(r) PI*2*r
#define S(r) PI*r*r

int main(void)
{
        float r;
        printf("请输入圆的半径:\n");
        scanf_s("%f\n", &r);
        printf("圆的面积是:%.2f\n圆的周长是:%.2f\n", S(r), C(r));
}
大佬我又回来了,我想请问PI要用什么语法才能运算么,这是我写的代码,我不明白错哪里了,麻烦指教下呗! C语言.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-26 15:12:47 | 显示全部楼层
sulley 发表于 2020-2-26 15:10
#include

#define _USE_MATH_DEFINES
  1. #include <stdio.h>

  2. #define _USE_MATH_DEFINES
  3. #include <math.h>

  4. int main(void)
  5. {
  6.         printf("%lf\n", M_PI);
  7.         return 0;
  8. }
复制代码


不是 PI,是 M_PI
有认真看这个程序吗?^_^
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-26 15:17:31 | 显示全部楼层
人造人 发表于 2020-2-26 15:12
不是 PI,是 M_PI
有认真看这个程序吗?^_^

哦哦,惭愧惭愧!超级谢谢你!微笑
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-7 01:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表