帮忙用C语言计算直角三角形角度

已知对边长1.5,邻边长2,求夹角角度,请用C语言写出来(VC++6.0低版本哦)
#include <stdio.h>
#include <math.h>
#define PI 3.1416
double a,b;
int main()
{
double x = atan(a/b)*180/PI;
scanf("%lf",&a);
scanf("%lf",&b);
printf("%.1lf\n", x);
return 0;
}
请教我这样写输入1.5和2为何结果不正确呢?

先用atan求弧度,然后转成角度就可以了 

代码如下

#include <stdio.h>
#include <math.h>
#define PI 3.14159265359
#define CONVERT(x) (x*180/PI) 
int main()
{
double x = atan(1.5/2);
printf("%lf\n", CONVERT(x));
return 0;
}

如果邻边可能为斜边 那还有一种情况求asin值,后转为角度。

追问

回答非常好,请教邻边为斜边时如何写呢?谢谢

追答

类似的 

#include <stdio.h>
#include <math.h>
#define PI 3.14159265359
#define CONVERT(x) (x*180/PI) 
int main()
{
    double x = atan(1.5/2);
    printf("%lf\n", CONVERT(x));
    x = asin(1.5/2);
    printf("%lf\n", CONVERT(x));
    return 0;
}

就是把atan改成asin就ok了。

追问

#include
#include
#define PI 3.1416
double a,b;
int main()
{
double x = atan(a/b)*180/PI;
scanf("%lf",&a);
scanf("%lf",&b);
printf("%.1lf\n", x);
return 0;
}
输入1.5和2为何结果不正确呢?

追答

定义x的时候已经算过了,但是这时a b还没输入值。所以要先输入再计算。

#include <stdio.h> 
#include <math.h> 
#define PI 3.1416 
 double a,b;  
 int main() 

 double x; 
 scanf("%lf",&a);
 scanf("%lf",&b);
 x = atan(a/b)*180/PI;
 printf("%.1lf\n", x); 
 return 0; 
}
温馨提示:答案为网友推荐,仅供参考
相似回答