C로 배우는 프로그래밍 기초 11장 이해점검 풀이
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

C로 배우는 프로그래밍 기초 11장 이해점검 풀이에 대한 보고서 자료입니다.

목차

(1) 다음 괄호 부분을 채우시오.
(2) 다음 소스에서의 에러를 찾아보고 수정하시오.
(3) 다음 소스에서의 에러는 무엇인가?
(4) 다음을 프로그래밍 하시오.
A. 1부터 n까지의 합을 구하는 함수를 재귀함수로 만들어 1부터 20까지의 각각의 합을 구하는
프로그램을 작성하시오.

B. 피보나츠 수를 구하는 함수를 재귀함수로 만들어 처음부터 21번째의 피보나츠 수를 출력하는
프로그램을 작성하시오.

C. x의 y승을 구하는 함수를 재귀적으로 만들고, 5의 0승에서 10승까지 출력하는 프로그램을
작성하시오.

D. 재귀적 함수를 이용하여 입력 받은 정수를 16진수로 출력하는 프로그램을 작성하시오.

E. 최대공약수를 구하는 문제를 반복문으로 프로그램을 작성하시오.

본문내용

수를 재귀함수로 만들어 1부터 20까지의 각각의 합을 구하는 프로그램을 작성하시오.
#include
int sum(int n);
void main()
{
int number;
printf("숫자 입력: ");
scanf("%d", &number);
printf("\n\n1부터 %d까지의 합: %d\n",number,sum(number));
}
int sum(int n)
{
if(n<=1)
return 1;
else
return(n + sum(n-1));
}
B. 피보나츠 수를 구하는 함수를 재귀함수로 만들어 처음부터 21번째의 피보나츠 수를 출력하는 프로그램을 작성하시오.
#include
int fibo(int n);
#define LIMIT 21
void main()
{
int i;
for(i=0; i<=21; i++)
{
printf("%2d번째 -> %d\n", i, fibo(i));
}
}
int fibo(int n)
{
int fn,fn1,fn2;
int i;
if(n<=1)
{
return n;
}
else
{
fn2=0;
fn1=1;
for(i=2; i<=n; i++)
{
fn = fn1 + fn2;
fn2 = fn1;
fn1 = fn;
}
return fn;
}
}
C. x의 y승을 구하는 함수를 재귀적으로 만들고, 5의 0승에서 10승까지 출력하는 프로그램을 작성하시오.
#include
int mult(int number);
void main()
{
int i;
for(i=0; i<=10; i++)
{
printf("5의 %2d승 : %10d\n", i, mult(i));
}
}
int mult(int number)
{
if(number < 1)
return 1;
else if(number ==1)
return 5;
else
return (5 * mult(number-1));
}
D. 재귀적 함수를 이용하여 입력 받은 정수를 16진수로 출력하는 프로그램을 작성하시오.
#include
void des_to_hex(int number);
void main()
{
int decimal;
printf("숫자 입력: ");
scanf("%d", &decimal);
des_to_hex(decimal);
printf("\n");
}
void des_to_hex(int number)
{
int hex;
if(number>0)
{
hex = number % 16;
number /= 16;
des_to_hex(number);
printf("%X", hex);
}
}
E. 최대공약수를 구하는 문제를 반복문으로 프로그램을 작성하시오.
#include
int gcd(int max, int min);
int main(void)
{
int m,n;
int result;
int choice;
do{
printf("두 양의 정수를 입력( ex -> 10 20 ) : ");
scanf("%d %d",&m,&n);
result = gcd(m,n);
printf("%d와 %d의 최대공약수는 %d이다\n",m,n,result);
puts("\n");
printf("*************************************************************\n");
printf("Contine: 1, Stop: 0 -> ");
scanf("%d", &choice);
}while(choice==1);
return 0;
}
int gcd(int max, int min)
{
if(min == 0){
return max;
}
else{
return gcd(min, max % min);
}
}
  • 가격1,000
  • 페이지수8페이지
  • 등록일2006.11.14
  • 저작시기2006.11
  • 파일형식한글(hwp)
  • 자료번호#371374
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니