검색어 입력폼

재귀함수를 이용한 팩토리얼 프로그램 소스

저작시기 2010.04 |등록일 2010.04.07 워드파일MS 워드 (doc) | 3페이지 | 가격 600원

소개글

재귀함수를 사용하여 구현한 팩토리얼 프로그램 소스입니다.

목차

없음

본문내용

#include <stdio.h>

double qw_fac(double cur_num,double input);
int dw_fac( int cur_num, int input);

int main(void)
{
int input_num; //입력값을 저장
while(1)
{

//입력부분
while(1){

printf("\nInput Num:");
scanf("%d",&input_num);

if(input_num<1 || input_num >170)
{
printf("\nError: Input Only 2~170 !!\n");
continue;
}else{
break;
}
}

if(12 > input_num) //계산결과가 4바이트일때
{
int result;
printf("\nFactorial Result:");
result = dw_fac(1,input_num);
printf("%u ",result);
}else{ //계산 결과가 8바이트일때
double result;
printf("\nFactorial Result:");
result = qw_fac((double)1,(double)input_num);
printf("%.5g",result); //지수형으로 출력
}
}
return 0;
}

double qw_fac(double cur_num,double input) //팩토리얼 계산결과가 8바이트일때
{
if(cur_num >= input )
{
printf("%3.0f = ",cur_num);
return input;
}
else
{
printf("%3.0f * ",cur_num);
return qw_fac(cur_num+1,input)*cur_num;
}
다운로드 맨위로