본문으로 바로가기
728x90
반응형

263p


Programming


1. 주어진 정수의 약수를 모두 찾아내는 함수 get_divisor()를 작성하여보자. 만약 8이 주어지면 1, 2, 4, 8을 화면에 출력하여야 한다. 이 함수를 테스트하기 위한 main()를 작성한다.


 #include <stdio.h>

 void get_divisor(int a);


 void main()

 {

int x;

printf("약수를 구할 값을 입력해주세요 :");

scanf_s("%d", &x);

get_divisor(x);

 }

 void get_divisor(int a)

 {

int i;

for (i = 1; i <= a;i++){

if (a%i == 0) printf("%d ", i);

}

printf("\n");

 } 



2. 주어진 정수가 소수(prime number)인지를 검사하는 함수 prime()을 작성하여보자. 이 함수를 이용하여 1부터 100사이에 존재하는 소수들을 모두 출력한다.

hint. 소수는 1과 자기 자신을 제외한 약수를 가지면 안된다. 따라서 만약 정수 n이 소수인지를 검사하려면 2부터 n-1까지의 숫자로 n을 나누어 떨어지지 않으면 소수이다.


 #include <stdio.h>

 void prime(int a);


 void main()

 {  

int a;

for (a = 1; a <= 100; a++)

{

prime(a);

}

scanf_s("%d", &a);

 }

 void prime(int a)

 {

int i,b=0;

for (i = 1; i < a;i++){

if (a%i == 0)b++;

}

if (b==1) printf("%d \n",a);

 }



3. 거듭제곱을 계산하는 함수를 작성하여보자. 정수 n과 k를 받아서 n^k을 계산하는 함수 ipower() 함수를 작성한다. 이 함수를 호출하여 3^0부터 3^10까지의 값을 테이블의 형태로 출력하는 프로그램을 작성한다.


 #include <stdio.h>

 void ipower(int n,int k);


 void main()

 {

int n, k;

for (n = 3, k = 0; k <= 10; k++)

{

ipower(n, k);

}

scanf_s("%d", &n);

 }

 void ipower(int n, int k)

 {

int i,power=1;

for (i = 0; i < k; i++)

power=power* n;

printf("%d ", power);

 }



4. 두 점 사이의 거리를 계산하는 함수를 작성하여보자. 2차원 공간에서 두 점 (x1, y1)과 (x2, y2) 사이의 거리를 계산하는 dist_2d()를 작성한다. 다음과 같은 두 점 사이의 거리를 계산하는 공식을 사용하여라.

d = √((x1-x2)²+(y1-y2)²)


 #include <stdio.h>

 #include <math.h>

 double dist_2d(double x1,double y1,double x2,double y2); 


 void main()

 {

double x1, x2, y1, y2;

printf("첫번째 점의 위치를 입력해주세요");

scanf_s("%lf %lf", &x1, &y1);

printf("두번째 점의 위치를 입력해주세요");

scanf_s("%lf %lf", &x2, &y2);

printf("두 점사이 거리는 %f입니다.", dist_2d(x1, y1, x2, y2));

 }

 double dist_2d(double x1, double y1, double x2, double y2)

 {

return sqrt(((x1 - x2)*(x1 - x2)) + ((y1 - y2)*(y1 - y2)));

 }



5. 주차장의 요금을 계산하여보자. 주차장에서 최초의 2시간은 3000원 이다. 최초 2시간 이후에는 1시간당 2000원의 주차료가 부과된다. 단, 주차료는 하루 24시간에 6000원을 넘지 않는다. 이 주차장에서 주차 시간이 주어지면 주차료를 계산하는 프로그램을 작성하여보자. 단, 함수를 사용하여 프로그램을 작성하여야 한다. 함수 이름은 cal_parking_charge()라고 하고, 주차 시간을 나타내는 하나의 매개변수 time 을 받는다


 #include <stdio.h>

 void cal_parking_charge(int time);


 void main()

 {

int time;

printf("주차한 시간을 입력해주세요(분)");

scanf_s("%d", &time);

cal_parking_charge(time);

scanf_s("%d", &time);

 }

 void cal_parking_charge(int time)

 {

int a=3000;

if (time > 120)

{

a = 2000 + (((time - 120) / 60) + 1) * 1000;

}

printf("주차료는 %d원 입니다.", a);

 }


728x90
반응형