4. 1부터 n까지의 숫자를 전부 합하여 반환하는 순환적인 함수를 작성하라.
#include<stdio.h>
int SUM=0;
int sum(int n){
int i;
for(i=1;i<=n;i++)
SUM += i;
printf("1부터 n까지의 합 : %d",SUM);
}
int main(){
sum(10);
}
5. 다음 함수를 sum(5)로 호출하였을 때, 화면에 출력되는 내용과 함수의 반환값을 구하여라.
#include<stdio.h>
int sum(int n){
printf("%d\n",n);
if(n<1)
return 0;
else
return (n+sum(n-1));
}
int main(){
sum(5);
}

6. 다음 함수에서 asterisk(5)와 같이 호출할 때 출력되는 *의 갯수는?
#include<stdio.h>
void asterisk(int i){
if(i>1){
asterisk(i/2);
asterisk(i/2);
}
printf("*");
}
int main(){
asterisk(5);
}

7. 순환을 사용하여 1부터 10까지를 화면에 출력하는 프로그램을 작성해보자.
#include<stdio.h>
int onetoten(int n){
int i;
for(i=1;i<=n;i++)
printf("%d ",i);
}
int main(){
onetoten(10);
}

10. 이항계수를 계산하는 순환함수를 작성하라. 이항계수는 다음과 같이 순환적으로 정의된다. 반복함수로도 구현해보라.
#include<stdio.h>
int binomial(int n,int k){
if(k==0||k==n)
return 1;
else if(k>0&&n>k){
return (binomial(n-1,k-1)+binomial(n-1,k));
}
}
int main(){
int sum = 0;
sum = binomial(5,3);
printf("%d",sum);
}