#include <stdio.h>
#include <math.h>

struct point{
    int x;
    int y;
};

#정수 x와 정수y를 매개변수로 갖는 구조체 만들기. 점의 위치를 알려준다. 

int main(void){
    struct point p1, p2;
    int Diffx, Diffy;
    double distance;

 

#점 두 개를 p1, p2라고 이름 붙임.

#x값의 차, y값의 차인 Diffx, Diffy를 정수로 정의함.

#두 점 사이의 거리인 distance를 소수점 15자리까지 쓸 수 있는 실수로 정의함.

 

    
    printf("점1의 좌표를 입력하세요: ");
    scanf("%d %d", &p1.x, &p1.y);
    printf("점2의 좌표를 입력하세요: ");
    scanf("%d %d", &p2.x, &p2.y);
    
    Diffx=p2.x-p1.x;
    Diffy=p2.y-p2.x;
    distance=sqrt(Diffx*Diffx + Diffy*Diffy);

 두 점 사이의 거리 = 루트 (두 점의 (x좌표의 차)2+ (y좌표 차)2) 공식 이용하기.

# sqrt(), sqrtf(), sqrtl() 

는 모두 제곱근을 구하는 기능을 한다. 각각 double형, float형, long double형일 때 쓴다. 

여기서는 distance를 더블 형으로 저장했으므로 sqrt()를 이용하였다.


    
    printf("두 점 사이의 거리는 %lf 입니다.", distance);
    
    return 0;

}

#include <stdio.h>
#include <stdlib.h>

struct student{
    int number;
    char name[10];
    double grade;
};

#구조체 만들기. student라는 이름을 가진 구조체이고 학번(정수형/ number), 이름(문자/name), 학점(소수점 15자리까지 표시할 수 있는 실수형/grade) 세 가지 정보를 넣을 수 있다.

int main(void){
    struct student s;
    printf("학번을 입력하세요 : ");

#학번을 입력하라는 창을 사용자에게 띄움
    scanf("%d", &s.number);          

#정수형으로 학번을 입력, s.number 칸에.
    printf("이름을 입력하세요 : ");
    scanf("%s", s.name);

#문자열로 이름을 입력한다. 이름은 char의 배열이므로 주소 표시가 필요 없다.
    printf("학점을 입력하세요: ");
    scanf("%lf", &s.grade);
    
    printf("학번:%d\n", s.number);
    printf("이름:%s\n", s.name);
    printf("학점:%.1f\n", s.grade);

#학번, 이름, 학점을 줄 띄워가면서 출력한다.
    
    return 0;
}

+ Recent posts