藏族服装租赁:求救这代码

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/26 05:48:03
#include<stdio.h>
#include<math.h>
double max(double a,double b,double c);
main()
{
double x,m,n,p,z;
printf("x=?\nExample:1,5,6,8.\n");
scanf("%lf",&x);
m=sin(x);
n=cos(x);
p=tan(x);
z=max(m,n,p);
printf("[max]=%lf",z);
}
double max(double a,double b,double c)
{
if(a>=b,a>=c)return a;
if(b>=a,b>=c)return b;
if(c>=a,c>=b)return c;
}
__________________________________________________________________
我是想用这段C语言来判断数x的sin,cos,tan,cot值的大小,并在屏幕上显示出最大的值和这个值与x对应的函数关系,但是试了半天也没弄出来,只能输出最大的值,没有输出函数关系,而且我不知道cot应该怎么输入,老说我输入的cot是错的,最后没办法,才把这行删了.还有个问题哦,对于tanX来说,当X=π/2时,它的值不属于实数集,怎样才能使X=π/2的奇数倍时,不计算tan的值,而直接进入下一步呢?.

设π 为pai, π/2 为pai05
pai = (atan(1.0) * 4.0);
pai05 = (atan(1.0) * 4.0);
如果 (x - pai05) / pai 非常接近 (int) ((x - pai01) / pai ), X就是奇数倍π/2.
非常接近的条件:
if ( fabs( (x - pai05) / pai - (int) ...) < 1.0E-10) 则 tan(x) 接近无穷大.

有的编译中没有cot()涵数,cot要用 tan()的倒数计算.

输出函数关系用循环语句:
double dx;
dx = pai / 18.0; //设dx为10.0 度
for (i=0;i<=18;i++){
x = dx * (double) i;
if (i != 9)
printf(x=%lf, sin=%lf, cos=%lf, tan=%lf\n",
sin(x),cos(x),tan(x));
else {
printf(x=%lf, sin=%lf, cos=%lf, tan=%lf\n",
sin(x),cos(x),tan(x-0.000001));
};

}