#include <stdio.h>

/*
    [문제1]
    hello() 함수를 만드세요.

    hello() 함수에서는
    "Hello C!"를 출력합니다.

    main() 함수에서 hello() 함수를 호출하세요.

    [실행 결과]
    Hello C!

    [조건]
    1. hello() 함수는 반환값이 없습니다.
    2. 매개변수도 사용하지 않습니다.
*/
// [문제1] 함수 작성
void hello(void){
    printf("Hello C!\n");
}

// ------------------------------------------

/*
    [문제2]
    정수 하나를 매개변수로 전달받는
    printNumber() 함수를 만드세요.

    전달받은 숫자를 아래와 같이 출력합니다.

    [실행 결과]
    입력받은 숫자 : 7

    [조건]
    1. 반환값은 없습니다.
    2. 정수형 매개변수를 사용합니다.
*/
// [문제2] 함수 작성
void printNumber(int number){
    printf("입력받은 숫자 : %d\n", number);
}



// ------------------------------------------

/*
    [문제3]
    두 정수를 매개변수로 전달받아
    두 수의 합을 출력하는 add() 함수를 만드세요.

    [실행 결과]
    두 수의 합 : 15

    [조건]
    1. 반환값은 없습니다.
    2. 두 개의 정수형 매개변수를 사용합니다.
*/
// [문제3] 함수 작성
void add(int a, int b){
    printf("두 수의 합 : %d\n",a+b);
}



// ------------------------------------------

/*
    [문제4]
    두 정수를 매개변수로 전달받아
    두 수 중 더 큰 수를 반환하는
    findMax() 함수를 만드세요.

    main() 함수에서 두 정수를 입력받고
    findMax() 함수를 호출하여 결과를 출력하세요.

    [입력 예시]
    15 27

    [실행 결과]
    큰 수 : 27

    [조건]
    1. findMax() 함수의 반환형은 int입니다.
    2. return을 사용하여 결과를 반환합니다.
*/
// [문제4] 함수 작성
int findMax(int c, int d){
    if (c > d){
        return c;
    }
    else{
        return d;
    }
}



// ------------------------------------------

/*
    [문제5]
    정수 하나를 매개변수로 전달받아
    짝수이면 1, 홀수이면 0을 반환하는
    checkEven() 함수를 만드세요.

    main() 함수에서 정수를 입력받고
    함수의 반환값을 출력하세요.

    [입력 예시]
    8

    [실행 결과]
    짝수 여부 : 1

    [조건]
    1. % 연산자를 사용합니다.
    2. 반환형은 int입니다.
    3. 함수에서 if문을 사용합니다.
*/
// [문제5] 함수 작성
int chekEven(int num){
    if (num % 2 ==0){
        return 1;
    }
    else{
        return 0;
    }
}



// ------------------------------------------

/*
    [문제6]
    calculate() 함수를 만드세요.

    calculate() 함수 안에서
    지역변수 num1과 num2를 선언하고
    각각 10과 20을 저장하세요.

    두 지역변수의 합을 출력하세요.

    [실행 결과]
    합계 : 30

    [조건]
    1. num1과 num2는 반드시
       calculate() 함수 안에서 선언합니다.
    2. 전역변수는 사용하지 않습니다.
*/
// [문제6] 함수 작성
void calculate(void){
    int num1 = 10;
    int num2 = 20;
    printf("합계 : %d\n", num1+num2);
}



// ------------------------------------------

/*
    [문제7]
    프로그램 전체에서 사용할 수 있는
    정수형 전역변수 score를 선언하고
    100을 저장하세요.

    showScore() 함수를 만들어
    전역변수 score의 값을 출력하세요.

    main() 함수에서도 score의 값을 출력하세요.

    [실행 결과]
    함수에서의 점수 : 100
    main에서의 점수 : 100

    [조건]
    1. score는 모든 함수의 바깥에 선언합니다.
    2. showScore() 함수에서 전역변수 score를 사용합니다.
*/
// [문제7] 전역변수 및 함수 작성
int score = 100;
void showScore(){
    printf("함수에서의 점수 : %d\n", score);
}



// ------------------------------------------

/*
    [문제8]
    정수형 전역변수 level을 선언하고
    1을 저장하세요.

    levelUp() 함수를 만들어
    전역변수 level의 값을 1 증가시키세요.

    main() 함수에서 levelUp()을 호출한 후
    변경된 level을 출력하세요.

    [실행 결과]
    현재 레벨 : 2

    [조건]
    1. level은 전역변수로 선언합니다.
    2. levelUp() 함수에서 증가 연산자 ++를 사용합니다.
    3. levelUp() 함수는 값을 반환하지 않습니다.
*/
// [문제8] 전역변수 및 함수 작성
int level = 1;
void levelUp(void){
    level++;
}



// ------------------------------------------

/*
    [문제9]
    정수형 전역변수 money를 선언하고
    10000을 저장하세요.

    buy() 함수를 만드세요.

    buy() 함수는 상품 가격을
    매개변수로 전달받습니다.

    현재 money가 상품 가격 이상이면
    상품 가격만큼 money를 감소시키고
    "구매 완료"를 출력하세요.

    money가 부족하면
    "잔액 부족"을 출력하세요.

    main() 함수에서 상품 가격을 입력받고
    buy() 함수를 호출한 후
    남은 money를 출력하세요.

    [입력 예시]
    3500

    [실행 결과]
    구매 완료
    남은 금액 : 6500원

    [조건]
    1. money는 전역변수입니다.
    2. buy() 함수는 정수형 매개변수를 사용합니다.
    3. buy() 함수 안에서 if-else문을 사용합니다.
    4. money를 감소시킬 때 -= 연산자를 사용합니다.
*/
// [문제9] 전역변수 및 함수 작성
int money = 10000;
void buy(int price){
    if (money >= price){
        printf("구매 성공\n");
        money -= price;
    }
    else{
        printf("잔액 부족\n");
    }
}




// ------------------------------------------

/*
    [문제10]
    게임 캐릭터의 공격력을 계산하는 프로그램을
    작성하세요.

    정수형 전역변수 bonus를 선언하고
    10을 저장하세요.

    calculateAttack() 함수를 만드세요.

    calculateAttack() 함수는
    기본 공격력을 매개변수로 전달받습니다.

    함수 안에서 정수형 지역변수
    finalAttack을 선언하세요.

    finalAttack에는

    기본 공격력 + bonus

    값을 저장합니다.

    그리고 finalAttack을 반환하세요.

    main() 함수에서는 기본 공격력을 입력받고
    calculateAttack() 함수를 호출하여
    최종 공격력을 출력하세요.

    [입력 예시]
    50

    [실행 결과]
    최종 공격력 : 60

    [조건]
    1. bonus는 전역변수로 선언합니다.
    2. 기본 공격력은 매개변수로 전달합니다.
    3. finalAttack은 calculateAttack() 함수의
       지역변수로 선언합니다.
    4. calculateAttack() 함수는
       계산 결과를 return으로 반환합니다.
*/
// [문제10] 전역변수 및 함수 작성
int bonus = 10;
int calculateAttack(int attack){
    int finalAttack;
    finalAttack = attack+bonus;
    return finalAttack;
}



int main() {
    hello();
    printNumber(7);
    add(7, 8);
    int c, d;
    scanf("%d %d", &c, &d);
    printf("큰 수 : %d\n", findMax(c,d));
    int num;
    scanf("%d", &num);
    printf("짝수 여부 : %d\n", chekEven(num));
    calculate();
    showScore();
    printf("main에서의 점수 : %d\n", score);
    levelUp();
    printf("현재 레벨 : %d\n", level);
    int price;
    scanf("%d", &price);
    buy(price);
    printf("남은 금액 : %d원\n", money);
    int attack;
    int abcd;
    scanf("%d", &attack);
    abcd = calculateAttack(attack);
    printf("최종 공격력 : %d\n", abcd);
    /*
        각 문제에서 필요한 코드를 작성하여
        함수를 호출하세요.
    */
    


    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: