바람 C언어 세미나 - 2일차 과제
바람 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