#include<stdio.h>
#include<math.h>
int main(void){
double a,b,c,d,e,f,g,h,i,j,k,l,m,n;
double x=600;
printf("X=");<br>scanf("%lf", &a);
printf("Y=");<br>scanf("%lf", &b);
printf("Z=");<br>scanf("%lf", &c);
d=pow(a,2)+pow(b,2);
e=pow(a,2)+pow(b,2)+pow(c,2);
f=sqrt(d);
g=sqrt(e);
h=acos(f/g);
i=acos(x/g);
j=h+i;
k=asin(x/g);
if(g<=600 && a>0 && b>0 && c>0){
l=180*atan(b/a)/3.1416;
m=180*j/3.1416;
n=360*k/3.1416;
printf("(%lf, %lf, %lf)\n", l, m, n);
}else{
printf("It's not right coordinate.");}
return 0;}
minGW로 실행중임
l이랑 m은 출력되는데 n이 0아니면 179.99같은거만 나옴
제곱에 pow 쓰는 애들 극혐.
제곱 쓰는 방법 몰라서 ^2라고 썻다가 어제 어떤애가 pow로 고치라길래 고쳣는데
a^2 => a * a 잖아. 멍청아.
지금 짜려는 코드의 목적이 뭐니?
로봇암 만드려고 그전에 좌표에서 각도계산하는 프로그램 만들어봄
sin, cos 의 정의를 떠올려 봐라.
빗변이 분모지.
빗변이 가로, 세로 보다 작을 수 있냐?
그렇다는건 넌 입력값을 계산한 f와 g가 600 이라고 정의한 값보다 작아선 안된다는거다.
600은 어디서 튀어나온거래 ㅡ,.ㅡ
if (g<=600 이거 if (g >600 으로 고치고 a, b, c 에 큰값 입력해봐.
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.