목차
■ 이해점검 풀이
■ 프로그램 문제 풀이
■ 프로그램 문제 풀이
본문내용
int a) //1부터 n까지 구하는 재귀함수
{
int hap;
if (a > 0) {
hap = a + sum(a1);
printf("%d부터 %3d까지 합 : %5ld\n", 1, a, hap);
return hap;
} else {
return 0;
}
}
피보나츠 수를 구하는 함수를 재귀함수로 만들어 처음부터 21번째의 피보나츠 수를 출력하는 프로그램을 작성하시오.
#include
int fibo(int);
int main(void) {
int count = 0;
printf("피보나츠수를 처음부터 21번째까지 출력합니다.\n\n");
for (count = 0; count <= 21; count++)
printf("%2d번째 피보나츠수 %6d\n", count, fibo(count));
return 0;
}
int fibo(int count){
int fn;
if (count >= 2){
fn = fibo(count1) + fibo(count2);
} else if (count == 1) {
fn = 1;
} else if (count == 0) {
fn = 0;
}
return fn;
}
x의 y승을 구하는 함수를 재귀적으로 만들고, 5의 0승에서 10승까지 출력하는 프로그램을 작성하시오.
#include
int mult(int,int);
int main(void){
int x = 5, y = 10;
printf("5의 0승부터 10승까지 구하는 프로그램입니다\n\n");
mult(x, y);
return 0;
}
int mult(int x, int y){
int rst; //승수의 합을 저장하는 변수
if (y >= 1) {
rst = x * mult(x, y1);
} else {
rst = 1;
}
printf("%d의 %2d승 : %8d\n", x, y, rst);
return rst;
}
재귀적 함수를 이용하여 입력 받은 정수를 16진수로 출력하는 프로그램을 작성하시오.
#include
void tohex(int);
int main(void)
{
int x;
printf("10진수를 입력하면 16진수를 출력합니다.\n");
printf("정수 입력 > "); scanf("%d", &x);
printf("\n>\n");
printf("%d의 16진수는? ", x);
tohex(x);
printf("\n");
return 0;
}
void tohex(int x)
{
int div = x / 16;
int mod = x % 16;
if ( div > 0 )
tohex(div);
if ( mod > 9 ) {
printf("%1c", 'A'+ mod 10);
} else {
printf("%1d", mod);
}
}
최대공약수를 구하는 문제를 반복문으로 프로그램을 작성하시오
#include
int gcd(int, int);
int main(void)
{
int a, b;
printf("두 정수를 입력하면 최대공약수를 구합니다.\n");
printf("두 정수 입력 > ");
scanf("%d %d", &a, &b);
printf("\n%d와 %d의 최대공약수는 %d입니다.\n", a, b, gcd(a, b));
return 0;
}
int gcd(int max, int min)
{
int r; //나머지저장 변수
/*
if (max < min) {
int tmp = max;
max = min;
min = tmp;
}
*/
while (min > 0) {
r = max % min;
max = min;
min = r;
}
return max;
}
{
int hap;
if (a > 0) {
hap = a + sum(a1);
printf("%d부터 %3d까지 합 : %5ld\n", 1, a, hap);
return hap;
} else {
return 0;
}
}
피보나츠 수를 구하는 함수를 재귀함수로 만들어 처음부터 21번째의 피보나츠 수를 출력하는 프로그램을 작성하시오.
#include
int fibo(int);
int main(void) {
int count = 0;
printf("피보나츠수를 처음부터 21번째까지 출력합니다.\n\n");
for (count = 0; count <= 21; count++)
printf("%2d번째 피보나츠수 %6d\n", count, fibo(count));
return 0;
}
int fibo(int count){
int fn;
if (count >= 2){
fn = fibo(count1) + fibo(count2);
} else if (count == 1) {
fn = 1;
} else if (count == 0) {
fn = 0;
}
return fn;
}
x의 y승을 구하는 함수를 재귀적으로 만들고, 5의 0승에서 10승까지 출력하는 프로그램을 작성하시오.
#include
int mult(int,int);
int main(void){
int x = 5, y = 10;
printf("5의 0승부터 10승까지 구하는 프로그램입니다\n\n");
mult(x, y);
return 0;
}
int mult(int x, int y){
int rst; //승수의 합을 저장하는 변수
if (y >= 1) {
rst = x * mult(x, y1);
} else {
rst = 1;
}
printf("%d의 %2d승 : %8d\n", x, y, rst);
return rst;
}
재귀적 함수를 이용하여 입력 받은 정수를 16진수로 출력하는 프로그램을 작성하시오.
#include
void tohex(int);
int main(void)
{
int x;
printf("10진수를 입력하면 16진수를 출력합니다.\n");
printf("정수 입력 > "); scanf("%d", &x);
printf("\n>\n");
printf("%d의 16진수는? ", x);
tohex(x);
printf("\n");
return 0;
}
void tohex(int x)
{
int div = x / 16;
int mod = x % 16;
if ( div > 0 )
tohex(div);
if ( mod > 9 ) {
printf("%1c", 'A'+ mod 10);
} else {
printf("%1d", mod);
}
}
최대공약수를 구하는 문제를 반복문으로 프로그램을 작성하시오
#include
int gcd(int, int);
int main(void)
{
int a, b;
printf("두 정수를 입력하면 최대공약수를 구합니다.\n");
printf("두 정수 입력 > ");
scanf("%d %d", &a, &b);
printf("\n%d와 %d의 최대공약수는 %d입니다.\n", a, b, gcd(a, b));
return 0;
}
int gcd(int max, int min)
{
int r; //나머지저장 변수
/*
if (max < min) {
int tmp = max;
max = min;
min = tmp;
}
*/
while (min > 0) {
r = max % min;
max = min;
min = r;
}
return max;
}
키워드
추천자료
C언어 확실히 따라잡기
프로그래밍 언어 분류와 펄(perl)
시간함수(time_function)를 이용하여 처리소요시간을 [nsec] 단위로 측정하여 출력하는 프로...
성적 관리 프로그램 발표(c언어)
C언어의 원리, C언어의 장단점, C언어의 시작, C++의 추가된 사항, C++의 데이터선언, C++의 ...
프로그래밍 언어론 연습문제[정익사 - 원유헌 저]
인터넷활용교육(인터넷활용학습, 인터넷활용수업)의 개념과 특성, 인터넷활용교육(인터넷활용...
알기쉬운c언어 기초
[객체지향][병렬프로그램언어][프로그래밍]객체지향의 정의, 객체지향의 역사, 객체지향의 언...
2014년 2학기 기초거시경제론 중간시험과제물 C형(항상소득이론과 생애주기이론)
2015년 2학기 기초거시경제론 중간시험과제물 C형(항상소득이론과 생애주기이론)
2016년 2학기 기초거시경제론 중간시험과제물 C형(소득 지출분석, 균형국민소득 도출과정)
(영유아프로그램개발과평가 C형) 레지오 에밀리아 접근법의 이론적 기초, 교육목표 및 원리,...
영유아 프로그램 개발과 평가 C형 프로젝트 접근법 프로젝트 접근법의 이론적 기초, 교육목...
소개글