关于 数学运算的运用和小结 1
- include <math.h>的引入
c语言中,计算机原本只会加减乘除,如果要引入其他的运算法则,必须加入 以下代码
#include <math.h>
常见函数的功能和使用方法如下:
note:在无特殊要求时,这里的double()可用float()代替,两者都是表示浮点型(小数)函数,但区别是
-------float : 单精度浮点数
----double : 双精度浮点数
可根据具体情况选择。
函数 | 功能 | 使用方法 |
---|---|---|
abs | 求整数x的绝对值 | int x ; abs(x); |
fabs | 求x的绝对值 | double(); fabs(x); |
log | 求lnx | double(x); log(x); |
log10 | 求lg | double(x); log10(x); |
exp | 求e^x | double(x); exp(x); |
pow | 求x^y | double(x,y); pow(x,y); |
sqrt | 求x^0.5(根号下x) | double(x); sqrt(x); |
sin | 求sinx | double(x); sin(x); |
cos | 求cosx | double(x); cos(x); |
tan | 求tanx | double(x); tan(x); |
下面是关于求解ax^2+bx+c=0的代码
#include <stdio.h>
#include <math.h>
int main()
{
printf("请输入a,b,c的值\n");
double a,b,c,d,e,x1,x2;
scanf("%lf %lf %lf",&a,&b,&c);
d=b*b-4*a*c;
if(d>=0)
{
e=sqrt(d);
x1=(-b+e)/2*a;
x2=(-b-e)/2*a;
printf("将a,b,c带入以下式子\n");
printf("ax^2+bx+c=0\n");
printf("解得x1=%f,x2=%f\n",x1,x2);
}
else
printf("此方程无解\n");
return 0;
}
在编写该代码时,主要有以下问题
- 输出函数 例如:printf(),putchar()的“ ”末尾可以加\n表示换行,但输入函数 例如:scanf()的“ ”末尾不用加\n。不然,将出现在运行时,当我们输入完成后,按enter键无论几次,也无法再继续运行。
- 函数可以直接赋值给符合条件的字符。
- 注意思路清晰,以及代码的步骤顺序。