1. 谁能告诉我c语言中数学函数怎么用啊
#include<stdio.h>
#include<math.h>
int
main()
{
double
a,b,c,x;
scanf("%lf%lf%lf",&a,&b,&c);
x=b*b-4*a*c;
if(x>0&&x==0)
{
if(x>0)
printf("%.2lf\n%.2lf",(-b+sqrt(x))/(2*a),(-b-sqrt(x)/(2*a)));
if(x==0)
printf("%.2lf",(-b+sqrt(x))/(2*a));
}
else
printf("No
answer!");
return
0;
}
这是改过的程序
第一:if(x>=0)
这种形式在c语言中是错误的
只能用逻辑运算符
&&
!
||
来表示连接关系
第二:弄清楚在逻辑运算中,优先级的关系
(-b+sqrt(double
x))/2*a,(-b-sqrt(double
x))/2*a)
(-b+sqrt(double
x))/2*a)
中
2*a
用()括起来
在x前面不用再加其数据类型
除非是你想强制转换数据类型
多看看书,多做些,就好了!明白vc的报错,从第一个开始上下找错误。。。个人经验。。。
2. C语言函数的数学函数
所在函数库为math.h、stdio.h、string.h、float.h
int abs(int i) 返回整型参数i的绝对值
double cabs(struct complex znum) 返回复数znum的绝对值
double fabs(double x) 返回双精度参数x的绝对值
long labs(long n) 返回长整型参数n的绝对值
double exp(double x) 返回指数函数ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回x^y的值
double pow10(int p) 返回10^p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度
double atan(double x) 返回x的反正切tan-1(x)值,x为弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度
double cos(double x) 返回x的余弦cos(x)值,x为弧度
double sin(double x) 返回x的正弦sin(x)值,x为弧度
double tan(double x) 返回x的正切tan(x)值,x为弧度
double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度
double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度
double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度
double hypot(double x,double y) 返回直角三角形斜边的长度(z),
x和y为直角边的长度,z2=x2+y2
double ceil(double x) 返回不小于x的最小整数
double floor(double x) 返回不大于x的最大整数
void srand(unsigned seed) 初始化随机数发生器
int rand() 产生一个随机数并返回这个数
double poly(double x,int n,double c[])从参数产生一个多项式
double modf(double value,double *iptr)将双精度数value分解成尾数和阶
double fmod(double x,double y) 返回x/y的余数
double frexp(double value,int *eptr) 将双精度数value分成尾数和阶
double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数
double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数
double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数
char *ecvt(double value,int ndigit,int *decpt,int *sign)
将浮点数value转换成字符串并返回该字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign)
将浮点数value转换成字符串并返回该字符串
char *gcvt(double value,int ndigit,char *buf)
将数value转换成字符串并存于buf中,并返回buf的指针
char *ultoa(unsigned long value,char *string,int radix)
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char *ltoa(long value,char *string,int radix)
将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char *itoa(int value,char *string,int radix)
将整数value转换成字符串存入string,radix为转换时所用基数
double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0
int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0
long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0
double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,
long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数,
并返回这个数,
int matherr(struct exception *e)
用户修改数学错误返回信息函数(没有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p,
double *arg2p,double retval)
用户修改数学错误返回信息函数(没有必要使用)
unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态
void _fpreset() 重新初使化浮点数学程序包
unsigned int _status87() 返回浮点状态字
3. c语言中math头文件中的函数有哪些
数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:
1 三角函数
double sin (double);
double cos (double);
double tan (double);
2 反三角函数
double asin (double); 结果介于[-PI/2, PI/2]
double acos (double); 结果介于[0, PI]
double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2]
3 双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 指数与对数
double exp (double);
double sqrt (double);
double log (double); 以e为底的对数
double log10 (double);
double pow(double x, double y)//计算以x为底数的y次幂
5 取整
double ceil (double); 取上整
double floor (double); 取下整
6 绝对值
double fabs (double);
double cabs(struct complex znum) //求复数的绝对值
7 标准化浮点数
double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] )
double ldexp (double x, int p); 与frexp相反, 已知x, p求f
8 取整与取余
double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分
double fmod (double, double); 返回两参数相除的余数
9其他
double hypot(double x, double y);//已知直角三角形两个直角边长度,求斜边长度
double ldexp(double x, int exponent);//计算x*(2的exponent次幂)
double poly(double x, int degree, double coeffs [] )//计算多项式
nt matherr(struct exception *e)//数学错误计算处理程序
source: 《C & C++ Code Capsules》
4. c语言中常用自定义数学函数
对,可以做自定义函数,方便后续调用,
可以在math.h的头文件下面,也可以自己定义
5. C语言常用的函数有哪些
C语言库函数,常用库函数有:
1、scanf格式输入函数
2、printf格式输出函数
3、systemdos命令函数
4、sort排序
5、main主函数
6、fgets文件读取字符串函数
7、fputs文件写入字符串函数
8、fscanf文件格式读取函数
9、fprintf文件格式写入函数
10、fopen打开文件函数
11、getchar输入字符函数
12、putchar输出字符函数
13、malloc动态申请内存函数
14、free释放内存函数
15、abs求绝对值数学函数
16、sqrt求平方根数学函数
(5)c语言数学函数扩展阅读
语言组成:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
6. C语言中的数学函数的书写
D
A)sqrt(abs(x*x/180) 这里少“)”
B)sqrt(abs(sinx*3.14/180))) 这里多了“)”
C)sqrt(sinx) sin 是系统函数不能直接和变量一起使用
D)sqrt(fabs(sin(x*3.14/180))) 如果 fabs 是合法函数的话。这个没有问题
7. C语言中全部可用的数学函数有哪些
三角函数
反三角函数
双曲三角函数
指数与对数
取整
绝对值
标准化浮点数
取整与取余
8. C语言的函数和数学函数是什么意思
1、函数就是一系列C语句的集合,为了完成某个会重复使用的特定功能。需要该功能的时候,直接调用该函数即可,不用每次都堆叠一大堆的代码。需要修改该功能的时候,也只要修改和维护这一个函数即可。
2、C语言中,数学函数是函数的一种。指专门进行数学运算的函数,一般都在<math.h>头文件下,数学函数列表:
1)int abs(int i); 求整数的绝对值。
2)long labs(long n); 求长整型数的绝对值。
3)double fabs(double x); 求实数的绝对值。
4)double floor(double x); 求不大于x的最大整数,它相当于数学函数[x]。
5)double ceil(double x); 求不小于x的最小整数。
6)double sqrt(double x); 求x的平方根。
7)double log10(double x); 求x的常用对数。
8)double log(double x); 求x的自然对数。
9)double exp(double x); 求欧拉常数e的x次方。
10)double pow10(int p); 求10的p次方。
11)double pow(double x, double y); 求x的y次方。
12)double sin(double x); 正弦函数。
13)double cos(double x); 余弦函数。
14)double tan(double x); 正切函数。
15)double asin(double x); 反正弦函数。
16)double acos(double x); 反余弦函数。
17)double atan(double x); 反正切函数。
18)double atan2(double x); 反正切函数2。
9. c语言数学函数库哪里有
C语言中之数学函数
C语言提供了以下的数学函数,要使用这些函数时,在程序文件头必须加入:
#include <math.h>
编译时,必须加上参数“-lm”(表示连结至数学函式库),例如“gcc -lm test.c”。
函数之自变量与传回之值型别见自变量或函数前之型别宣告。
函数已经在“math.h”或其它标头档宣告过了,因此在使用时不必再加型别宣告,例如“y=sin(x);”,不用写成“y=double sin(double x);”。
函数说明
double sin(double x)
x 的正弦函数值
double cos(double x)
x 的余弦函数值
double tan(double x)
x 的正切函数值
double asin(double x)
x 的反正弦函数值 sin-1x,x的值在 [-1,1] 之间,传回的值在 [-p/2,p/2] 之间
double acos(double x)
x 的反余弦函数值cos-1x,x的值在 [-1,1] 之间,传回的值在 [-p/2,p/2] 之间
double atan(double x)
x 的反正切函数值tan-1x,传回的值在 [-p/2,p/2] 之间
double atan2(double y, double x)
y/x 的反正切函数值tan-1(y/x),传回的值在 [-p, p] 之间
double sinh(double x)
x 的双曲正弦函数值
double cosh(double x)
x 的双曲余弦函数值
double tanh(double x)
x 的双曲正切函数值
double exp(double x)
x 的指数函数 ex
double log(double x)
x 的自然对数 ln(x),x > 0
double log10(double x)
x 底数为 10 的对数,log10x,x > 0
double pow(double x, double y)
x 的 y 次方 xy
double sqrt(double x)
x 的根号值 √x
double ceil(double x)
不小于 x 的最小整数(但其型别为 double)
double floor(double x)
不大于 x 的最大整数(但其型别为 double)
int abs(int x)
整数 x 的绝对值 |x|
long labs(long x)
长整数 x 的绝对值 |x|
double fabs(double x)
实数 x 的绝对值 |x|
double ldexp(double x, int n)
x?2n
double fmod(double x, double y)
x/y 的浮点数余数,符号与 x 相同
范例:各个数学函式的使用方法
#include <stdio.h>
#include <math.h>
#define PI 3.14159
int main(void)
{
double x,y,z;
int n;
x=4.0;
y=sqrt(x);
printf("x=%fty=%fn",x,y);
x=PI/4;
y=sin(x);
printf("x=%fty=%fn",x,y);
x=2.0;
y=3.0;
z=pow(x,y);
printf("x=%fty=%ftz=%fn",x,y,z);
x=1.5;
n=4;
y=ldexp(x,n);
printf("x=%ftn=%dty=%fn",x,n,y);
return 0;
}
10. C语言函数和数学函数一样吗
当然不一样了。
程序设计中的函数,包括c语言,都是对一段特定功能代码段的封装,需要使用的时候直接调用。
而数学中的函数表示每个输入值对应唯一输出值的一种对应关系。