1028

Q1

#include <stdio.h> 
int factorial(int); //함수 원형
int main(void)
{
    int i;
    for (i = 1; i <= 10; i++) {
        printf("%2d! = ", i);
        printf("%d\n", factorial(i));
    }
        
    return 0;
}
// n! 구하는 재귀 함수
int factorial(int number)
{   
    if (number <= 1) {
        printf("%d = ", number);
        return 1;
    }
        
    else
        printf("%d * ", number);
        return (number * factorial(number - 1));
}

Q2

10진수 -> 2진수

#include <stdio.h>
int binary(int n);
int main(void) {
int n;
scanf("%d", &n);
binary(n);
return 0;
}
int binary(int n)
{
if (n < 2)
{
printf("%d", n);
}
else
{
binary(n / 2);
printf("%d", n % 2);
}
}

Q4

#include <stdio.h> 
#include <stdlib.h> //rand(), srand()를 위한 헤더 파일 포함  
#include <time.h>   //time()을 위한 헤더 파일 포함  
#define MAX 45
int main(void) 
{
    int num1, num2, a, b; 
    srand((long) time(NULL));
    num1=rand()%MAX+1;
    num2=rand()%MAX+1;
    
    do{
        printf("숫자 2개 입력: ");
        scanf("%d %d", &a, &b);
    }while(a<0&&a>45&&b<0&&b>45);
    
    if(num1==a||num1==b&&num2==a||num2==b){
        printf("2개 일치 \n번호:%d %d", num1, num2);
    }
    else if(num1==a||num1==b||num2==a||num2==b){
        printf("1개 일치 \n번호:%d %d", num1, num2);
    }
    else {
        printf("일치하지 않음 \n번호:%d %d", num1, num2);
    }
    
    return 0;
}

좋은 웹페이지 즐겨찾기