목차
문제 1 ] 주(maim)프로그램에서 두 수를 입력받고, 이 값을 함수에 넘겨 두 값 중 큰 것을 찾는 함수 max(a,b)를 만들어 결과값을 주프로그램에서 출력하는 프로그램을 작성하시오.
문제 2 ] 주 프로그램에서 n의 값을 입력 받고, 이 값을 함수에 넘겨
sum(n)=1-1/2+1/3-1/4+1/5-1/6+…+1/n을 계산하여 그 계산 결과를 반환하여 주 프로그램에서 반환된 결과값을 출력하는 프로그램을 작성하시오.
.
.
.
.
.
중략
.
.
.
.
문제 11 ]
문제 2 ] 주 프로그램에서 n의 값을 입력 받고, 이 값을 함수에 넘겨
sum(n)=1-1/2+1/3-1/4+1/5-1/6+…+1/n을 계산하여 그 계산 결과를 반환하여 주 프로그램에서 반환된 결과값을 출력하는 프로그램을 작성하시오.
.
.
.
.
.
중략
.
.
.
.
문제 11 ]
본문내용
eturn (1);
}
문제 6 ] 한 문자를 입력받아 화면에 출력하는 프로그램
#include
void main()
{
char ch;
scanf("%c", &ch);
printf("입력받은 문자 = %c \n", ch);
}
문제 7 ] 다음 프로그램의 수행 결과를 쓰시오.
#include
int sum(int);
void main()
{
printf("합 = %d \n", sum(5));
}
sum(int input)
{
if(input==1)
return 1;
else
return sum(input-1)+input;
}
시행횟수
sum(int)에 저장된 값
if문에서 시행한 명령
if문 시행시의 계산
누적된 input값
1
5
return sum(input-1)+input
sum(4)+ 0
5
2
4
sum(3)+ 5
5+4= 9
3
3
sum(2)+ 9
5+4+3=12
4
2
sum(1)+12
5+4+3+2=14
5
1
return 1
else
5+4+3+2+1=15
문제 8 ]
#include
val_func();
void main()
{
printf("정적변수 자동변수\n");
printf("---------------------\n");
val_func();
val_func();
val_func();
}
val_func()
{
static int n=10;
auto int a=30;
printf("static=%d auto=%d\n", n++, a++);
}
문제 9 ]
#include
value_inc();
static int n=10;
main()
{
printf("main : n = %d \n", n);
value_inc();
printf("main : n = %d \n", n);
}
value_inc()
{
++n;
printf("함수 : n = %d \n", n);
++n;
}
문제 10 ] 피보나치(Fibonacci)급수는 다음과 같이 전개되는 급수이다.
1 1 2 3 5 8 13 21 ………
피보나치 급수의 값을 구하는 프로그램을 작성하시오.
중간에 되부름을 중지시키는 탈출조건을 만들기 위해, 임의의 값(n)을 입력 받은 후, 입력받은 값의 개수만큼만 출력시키는 프로그램이다. 단, 모양을 맞추기 위해 최고 5자리만 출력되게 하였다. 더 많은 자리수를 출력하고 싶을 경우엔 ‘%5d’부분을 적절히 수정해 주면된다.
#include
int power(int);
int on(int);
void main()
{
int k, p, n;
printf("피보나치 수 갯수? : ");
scanf("%d", &n);
for(k=0;k
{
p=power(k);
printf("%5d ", p);
}
printf("\n");
}
int power(int a)
{
int x;
if(a==0)
return 1;
else if(a==1)
return 1;
else
{
x=on(a);
return x;
}
}
int on(int b)
{
int y;
y=power(b-2)+power(b-1);
return y;
}
함수 power 선언
함수 on선언
주 프로그램 부분
정수 k, p, n선언
출력할 개수를 입력받음
입력받은 개수만큼 하위 명령 수행
함수 power를 호출 후 반환된 값을 p에 대입
반환된 값 p를 출력
함수 power 부분
정수 x 선언
첫 번째 값과 두 번째 값은 규칙에 연관이 없기 때문에, if문을 사용하여 따로 지정해 주었다. 지정하지 않으면 세 번째 값이 출력되지 않는다. 그래서 이 값들은 전부 1로 되돌린다.
이 함수 내에서 세 번째 자리부터의 계산이 불가능하다. 그래서 함수 안에 또 한번 함수를 사용하여 다음 값을 계산해 준다.
x의 값으로 되돌린다.
함수 on 부분
정수 y 선언
피보나치 급수의 규칙은 앞의 두 숫자를 더한 값이 세 번째 값이 되는 것이다. 그러므로, power함수를 호출하여, 각 값을 계산한 후 두 함수의 합을 y에 넣어준다
y의 값으로 되돌린다.
문제 11 ]
#include
void functioncall(int*, int*);
void main()
{
int a, b;
a=30;
b=40;
functioncall(&a, &b);
printf("a = %d, b = %d \n", a, b);
}
void functioncall(int*x, int*y)
{
*x=*x**y;
*y*=*y;
}
}
문제 6 ] 한 문자를 입력받아 화면에 출력하는 프로그램
#include
void main()
{
char ch;
scanf("%c", &ch);
printf("입력받은 문자 = %c \n", ch);
}
문제 7 ] 다음 프로그램의 수행 결과를 쓰시오.
#include
int sum(int);
void main()
{
printf("합 = %d \n", sum(5));
}
sum(int input)
{
if(input==1)
return 1;
else
return sum(input-1)+input;
}
시행횟수
sum(int)에 저장된 값
if문에서 시행한 명령
if문 시행시의 계산
누적된 input값
1
5
return sum(input-1)+input
sum(4)+ 0
5
2
4
sum(3)+ 5
5+4= 9
3
3
sum(2)+ 9
5+4+3=12
4
2
sum(1)+12
5+4+3+2=14
5
1
return 1
else
5+4+3+2+1=15
문제 8 ]
#include
val_func();
void main()
{
printf("정적변수 자동변수\n");
printf("---------------------\n");
val_func();
val_func();
val_func();
}
val_func()
{
static int n=10;
auto int a=30;
printf("static=%d auto=%d\n", n++, a++);
}
문제 9 ]
#include
value_inc();
static int n=10;
main()
{
printf("main : n = %d \n", n);
value_inc();
printf("main : n = %d \n", n);
}
value_inc()
{
++n;
printf("함수 : n = %d \n", n);
++n;
}
문제 10 ] 피보나치(Fibonacci)급수는 다음과 같이 전개되는 급수이다.
1 1 2 3 5 8 13 21 ………
피보나치 급수의 값을 구하는 프로그램을 작성하시오.
중간에 되부름을 중지시키는 탈출조건을 만들기 위해, 임의의 값(n)을 입력 받은 후, 입력받은 값의 개수만큼만 출력시키는 프로그램이다. 단, 모양을 맞추기 위해 최고 5자리만 출력되게 하였다. 더 많은 자리수를 출력하고 싶을 경우엔 ‘%5d’부분을 적절히 수정해 주면된다.
#include
int power(int);
int on(int);
void main()
{
int k, p, n;
printf("피보나치 수 갯수? : ");
scanf("%d", &n);
for(k=0;k
p=power(k);
printf("%5d ", p);
}
printf("\n");
}
int power(int a)
{
int x;
if(a==0)
return 1;
else if(a==1)
return 1;
else
{
x=on(a);
return x;
}
}
int on(int b)
{
int y;
y=power(b-2)+power(b-1);
return y;
}
함수 power 선언
함수 on선언
주 프로그램 부분
정수 k, p, n선언
출력할 개수를 입력받음
입력받은 개수만큼 하위 명령 수행
함수 power를 호출 후 반환된 값을 p에 대입
반환된 값 p를 출력
함수 power 부분
정수 x 선언
첫 번째 값과 두 번째 값은 규칙에 연관이 없기 때문에, if문을 사용하여 따로 지정해 주었다. 지정하지 않으면 세 번째 값이 출력되지 않는다. 그래서 이 값들은 전부 1로 되돌린다.
이 함수 내에서 세 번째 자리부터의 계산이 불가능하다. 그래서 함수 안에 또 한번 함수를 사용하여 다음 값을 계산해 준다.
x의 값으로 되돌린다.
함수 on 부분
정수 y 선언
피보나치 급수의 규칙은 앞의 두 숫자를 더한 값이 세 번째 값이 되는 것이다. 그러므로, power함수를 호출하여, 각 값을 계산한 후 두 함수의 합을 y에 넣어준다
y의 값으로 되돌린다.
문제 11 ]
#include
void functioncall(int*, int*);
void main()
{
int a, b;
a=30;
b=40;
functioncall(&a, &b);
printf("a = %d, b = %d \n", a, b);
}
void functioncall(int*x, int*y)
{
*x=*x**y;
*y*=*y;
}
소개글