1 minute read

바람 C언어 세미나


깃 블로그를 만든김에, C언어 복습도 할 겸 한번 다시 적어보려합니다. (3/25)

문제1 : 3차원 공간상의 좌료값을 입력 받고, 좌표사이의 거리를 구하는 프로그램을 만드시오.

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

struct point //포인트라는 구조체 선언
{
    int x;
    int y;
    int z;
}; //구조체 안의 멤버 x,y,z 선언

int main()
{
    struct point p1, p2;
    int num1, num2, num3;
    double result;

    printf("3차원 점 A1의 좌표를 입력하시오");
    scanf("%d %d %d", &p1.x, &p1.y, &p1.z);

    printf("3차원 점 A2의 좌표를 입력하시오");
    scanf("%d %d %d", &p2.x, &p2.y, &p2.z);

    num1 = p1.x - p2.x;
    num2 = p1.y - p2.y;
    num3 = p1.z - p2.z;

    result = sqrt(num1*num1 + num2*num2 + num3*num3);

    printf("3차원 점 A1 과 A2 사이의 거리는 %f 입니다.\n", result);

    return 0;
}

결과값은 다음과 같습니다. (0,0,0) 과 (1,2,3) 사이의 거리르 구해보았습니다.

3차원  A1 좌표를 입력하시오0
0
0
3차원  A2 좌표를 입력하시오1
2
3
3차원  A1  A2 사이의 거리는 3.741657 입니다.

문제2: 양의 정수값을 입력 받고, 그 정수 이하의 소수를 출력하시오.

#include<stdio.h>

void Snum(int);

int main()
{
    int num;
    printf("양의 정수 입력: ");
    scanf("%d", &num);

    Snum(num);

    return 0;
}

void Snum(int n)
{
    int i,j;

    for(i=2; i<=n; i++)
    {
        for(j=2; j<=i; j++)
        {
            if(i%j==0)
            break;
        }
        if(i==j)
            printf("%d", i);
    }
}

결과값은 다음과 같습니다 20 이하의 소수를 출력해보겠습니다.

양의 정수 입력: 20
235711131719

Leave a comment