본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 18. else를 사용하여 두 방향으로 분기하기 : 연습문제 / 심사문제

18.7 연습문제 : else 사용하기

문제) 다음 소스 코드를 완성하여 "거짓"이 출력되게 만드세요.

#include <stdio.h>

int main()
{
    unsigned long long num1 = 0;

    if (num1)
        printf("참\n");
    else
        printf("거짓\n");

    return 0;
}

 

 

18.8 연습문제 : 합격 여부 판단하기

문제) A기업의 입사 시험은 필기 시험 점수가 80점 이상이면서 토익 점수가 850점 이상이라야 합격이라고 정했습니다. 다음 소스 코드를 완성하여 "합격""불합격"이 출력되게 만드세요.

#include <stdio.h>

// && = and : 둘다 참
// || = or : 하나만 참

int main()
{
    int writtenTest = 78;
    int toeic = 870;

    if (writtenTest >= 80 && toeic >= 850)
        printf("합격\n");
    else
        printf("불합격\n");

    return 0;
}

 

 

18.9 심사문제 : else 사용하기

문제) 표준 입력으로 문자가 입력됩니다. 입력된 문자가 a이면 "a입니다."를 출력하고, a가 아니면 "a가 아닙니다."를 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다).

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	char num;
	scanf("%c", &num);

	if (num == 'a')
	{
		printf("a입니다.");
	}
	else
	{
		printf("a가 아닙니다.");
	}

	return 0;
}

 

 

18.10 심사문제 : 합격 여부 판단하기

문제) 표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 여기서 네 과목의 평균 점수가 85점 이상일 때 합격이라고 정했습니다. 평균 점수에 따라 "합격""불합격"을 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다). 단, 점수는 0점부터 100점까지만 입력받을 수 있으며 범위를 벗어났다면 "잘못된 점수"를 출력하고 합격, 불합격 여부는 출력하지 않아야 합니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int kor;
	int eng;
	int mat;
	int sci;
	scanf("%d %d %d %d", &kor, &eng, &mat, &sci);

	int ave = (kor+eng+mat+sci)/4;

	if (kor >= 0 && kor <= 100 && eng >= 0 && eng <= 100 && mat >= 0 && mat <= 100 && sci >= 0 && sci <= 100)
	{
		if (ave >= 85)
		{
			printf("합격");
		}
		else
		{
			printf("불합격");
		}
	}
	else
	{
		printf("잘못된 점수");
	}

	return 0;
}