2의n승의 결과 출력하기 사용자로부터 2의 몇승 까지의 값을 구할지 입력 받는다.
#include<stdio.h>
#pragma warning(disable:4996)
int result(int n, int num); //함수의 원형 선언
int main(void)
{
int n;
int num = 2; //2의 n승의 값을 저장할 변수
printf("2의 몇승을 구할까요? ");
scanf("%d", &n);
if (n == 0) //0이 입력 된다면 결과가 1이기에 1을 출력한다.
printf("2의 %d승은 1입니다.\n", n);
else //0이 아닐경우에만 실행 된다.
printf("2의 %d승은 %d입니다.\n", n, result(n, num)); //함수호출
return 0;
}
int result(int n, int num) //재귀함수.
{
num = num * 2; //num에 2씩 곱한다 .
n--;
if (n == 0) //조건에 만족하면 num/2의 값을 출력
return num / 2; //2를 나누는 이유는 num의 초기값을 2로 하엿기 때문에 한번더 곱하는 격이된다.
result(n, num); // 함수 재호출
}
'C' 카테고리의 다른 글
c언어 문자열 배열과 널(null문자) (0) | 2014.04.29 |
---|---|
c언어 rand 함수 이용하여 가장 많이 생성된수 찾기 (0) | 2014.04.29 |
c언어 입력한 돈으로 잔돈이 남지않게 물건 구입하기 (6) | 2014.04.28 |
c언어 재귀함수를 이용하여 유클리드호제법으로 두수의 최대공약수 구하기 (0) | 2014.04.28 |
c언어 사용자가 원하는 단부터 원하는 단까지 구구단 출력하기 (0) | 2014.04.28 |