POST

c언어 라이브러리 함수 sin()함수를 이용하여 사인값(sin) 출력과 그래프 출력

c언어 에서는 많은 라이브러리 함수를 포함하고 있다

이중에 수학관련 함수들이 존재하는데 여기서 sin함수를 이용하여 sin값을 출력하여보자

공식은 (파이*각도)/180 이고 이 결과값을 sin함수를 이용해 변환을 하면된다.


* 수학관련 함수를 사용하기 위해서는 math.h라는 헤더파일이 필요하다.

* 각도는 0~180 또는 0~360

* 파이π 의 값은 3.14159265359 이렇게 하도록 하자


아래는 sin값을 360도까지 출력하는 것이다.

#include<stdio.h>

#include<math.h> // math 헤더 파일


#define PH 3.1415926535 // 매크로 정의 파이값


void sin_degree(int i, double si); // 함수원형 정의


int main(void) //main 함수

{

int i = 0; // 각도를 저장할 변수

double si = 0; //사인 값이 저장될 변수

sin_degree(i, si); // 함수호출

}

void sin_degree(int i, double si) // sin_degree 함수 정의

{

for (i = 0; i <= 360; i += 20) { // 20도 단위로 출력

si = sin((PH*i) / 180.0); // 변환식  

printf("sin(%3d)의 값은 %+f \n", i, si); // 각도와 sin값 출력

}

}


아래는 sin 값을 이용한 그래프 출력한 것 이다.

#include<stdio.h>

#include<math.h> // math 헤더 파일


#define PH 3.1415926535 //매크로 정의 파이값


void sin_degree(int i, int x, double si); // 함수원형 정의


int main(void) //main 함수

{

int i = 0; // 각도를 저장할 변수

double si = 0; // 사인값이 저장될 변수

int x = 0; // 그래프를 만들기위한 변수

sin_degree(i, x, si); // 함수호출



}

void sin_degree(int i, int x, double si) // sin_degree 함수 정의

{

for (i = 0; i <= 360; i += 20) { //20도 단위로 출력

si = sin((PH*i) / 180.0); //변환식  

printf("sin(%3d)의 값은 %+f", i, si); //각도와 sin값 출력


for (x = -15; x < si * 10; x++) { // 그래프 공백 생성

printf(" ");

}

printf("*\n"); // * 출력후 라인 변경

}

}




\r을 이용한 그래프 출력 ( 그냥..예뻐서 만들어 보았다.)

#include<stdio.h>

#include<math.h> // math 헤더 파일


#define PH 3.1415926535 //매크로 정의 파이값


void sin_degree(int i, int x, double si); // 함수원형 정의


int main(void) //main 함수

{

int i = 0; // 각도를 저장할 변수

double si = 0; // 사인값이 저장될 변수

int x = 0; // 그래프를 만들기위한 변수

sin_degree(i, x, si); // 함수호출



}

void sin_degree(int i, int x, double si) // sin_degree 함수 정의

{

for (i = 0; i <= 360; i += 20) { //20도 단위로 출력

si = sin((PH*i) / 180.0); //변환식  

printf("sin(%3d)의 값은 %+f\r", i, si); //각도와 sin값 출력 , \r삽입.


for (x = -15; x < si * 10; x++) { // 그래프 공백 생성

printf(" ");

}

printf("*\n"); // * 출력후 라인 변경

}

}