뇌를 자극하는 C프로그래밍 Exercise 8-3 함수를 사용한 프로그램 작성
① 키보드로부터 숫자 하나를 입력 받아서 절대값을 구하는 프로그램을 함수를 사용하여 작성합니다. 단, 함수의 이름은 user_abs로 만들며 메인함수 위에 선언하고 정의는 메인함수 아래에 작성합니다.
프로그램을 실행하면 다음과 같이 수행될 것입니다.
숫자 하나를 입력하세요 : -3.4
절대값은 3.400000입니다.
- 소스
#include <stdio.h>
double user_abs(double);
int main()
{
double a, res;
printf("숫자 하나를 입력하세요 : ");
scanf("%lf", &a);
res = user_abs(a);
printf("절대값은 %lf입니다.", res);
return 0;
}
double user_abs(double a)
{
double res;
if(a<0)
{
res = -a;
}
else
{
res = a;
}
return res;
}
- 결과
② 키보드로부터 밑수(실수)와 지수(정수) 두 개의 숫자를 입력 받아서 거듭제곱을 구하는 프로그램을 함수를 사용하여 작성합니다. 단, 함수의 이름은 user_pow로 정하며 함수의 선언을 포함하여 작성합니다. 거듭제곱은 밑수를 지수만큼 곱해주면 될 것입니다.
3.4의 3승을 계산할 때는 => user_pow(3.4, 3); 와 같이 호출
프로그램을 실행하면 다음과 같이 수행될 것입니다.
밑수를 입력하세요 : 1.4
지수를 입력하세요 : 2
거듭제곱은 1.960000입니다.
- 소스
#include <stdio.h>
double user_pow(double, int);
int main()
{
double a, res;
int b;
printf("밑수를 입력하세요 : ");
scanf("%lf", &a);
printf("지수를 입력하세요 : ");
scanf("%d", &b);
res = user_pow(a, b);
printf("거듭제곱은 %lf입니다.", res);
return 0;
}
double user_pow(double a, int b)
{
double res=1;
int i;
for(i=0;i<b;i++)
{
res = res * a;
}
return res;
}
- 결과
③ 키보드로부터 숫자 하나를 입력 받아서 다음 수식을 계산하는 프로그램을 작성합니다. 단, 거듭제곱과 절대값을 구할 때는 1, 2번에서 작성한 함수를 사용합니다.
l 2x^3 + 3x^2 + 4 l (x가 입력 받은 값)
프로그램을 실행하면 다음과 같이 수행될 것입니다.
x의 값을 입력하세요 : -1.4
결과값은 4.392000입니다.
- 소스
#include <stdio.h>
double user_abs(double);
double user_pow(double, int);
int main()
{
double x, res;
printf("x의 값을 입력하세요 : ");
scanf("%lf", &x);
res = user_abs(2 * user_pow(x, 3) + 3 * user_pow(x,2) + 4);
printf("결과값은 %lf입니다.", res);
return 0;
}
double user_abs(double a)
{
double res;
if(a<0)
{
res = -a;
}
else
{
res = a;
}
return res;
}
double user_pow(double a, int b)
{
double res=1;
int i;
for(i=0;i<b;i++)
{
res = res * a;
}
return res;
}
- 결과