Basics/자기주도 C언어 프로그래밍

[Chapter] 05 선택제어문

whereareyoung 2023. 7. 14. 15:09
//1
한 개의 정수를 입력 받을 후, 입력받은 수를 출력하고 그 수가 10보다 크면 다음 줄에 "10보다 큰 수를 입력하셨습니다." 라는 메세지를 출력하는 프로그램을 작성하시오.
입력 예 15
출력 예
15
10보다 큰 수를 입력하셨습니다.
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a;
 
scanf("%d", &a);
 
printf("%d\n", a);
if (a > 10) {
printf("10보다 큰 수를 입력하셨습니다. \n");
}
 
return 0;
}
 
 
 
자가진단 1 정수를 입력받아 첫 줄에 입력받은 숫자를 출력하고 음수이면 "minus" 라고 출력하는 프로그램을 작성하시오.
입력 예
-5
출력 예
-5
Minus
입력 예
5
출력 예
5
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a;
 
scanf("%d", &a);
 
printf("%d\n", a);
if (a < 0) {
printf("minus \n");
}
 
return 0;
}
 
 
 
//2
정수 2개를 입력받아서 큰 수와 작은 수를 차례로 출력하는 프로그램을 작성하시오.
 
입력 예 2 9
출력 예 입력받은 수 중 큰 수 는 9이고 작은 수는 2입니다.
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d", &a, &b);
 
if (a < b) {
c = a;
a = b;
b = c;
}
 
printf("입력받은 수 중 큰 수는 %d이고 \n", a);
printf("작은 수는 %d입니다. \n", b);
return 0;
}
 
 
 
자가진단 2
"몸무게 + 100 - 키"를 비만수치 공식이라고 하자.
키와 몸무게를 입력받아 첫 번째 줄에 비만수치를 출력하고, 비만수치가 0보다 크면 다음 줄에 비만 ("Obesity")이라는 메시지를 출력하는 프로그램을 작성하시오. (출력형식은 아래 출력 예를 참고하세요.)
입력 예 155 60
출력 예
5
Obesity
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int height, weight;
 
scanf("%d %d", &height, &weight);
 
printf("%d \n", weight + 100 - height);
if (weight + 100 - height > 0) {
printf("Obesity \n");
}
 
return 0;
}
 
 
 
//3
점수를 입력받아 80점 이상이면 합격 아니면 불합격을 출력하는 프로그램을 작성하시오.
입력 예 점수를 입력하세요. 89
출력 예 축하합니다. 합격입니다.
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int score;
printf("점수를 입력하세요. ");
 
scanf("%d", &score);
 
if (score >= 80) {
printf("축하합니다. 합격입니다. \n");
}
else {
printf("죄송합니다. 불합격입니다. \n");
}
 
return 0;
}
 
 
 
자가진단 3
나이를 입력받아 20살 이상이면 "adult" 라고 출력하고 그렇지 않으면 몇 년 후에 성인이 되는지를 "O years later" 라는 메시지를 출력하는 프로그램을 작성하시오.
입력 예 18
출력 예 2 years later
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int age;
 
scanf("%d", &age);
 
if (age >= 20) {
printf("audlt \n");
}
else {
printf("%d years later \n", 20 - age);
}
 
return 0;
}
 
 
 
//4
입력받은 점수를 "수우미양가" 로 평가하는 프로그램을 작성하시오.
입력 예 점수를 입력하세요. 89
출력 예 우
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int score;
printf("점수를 입력하세요. ");
scanf("%d", &score);
if (score >= 90) {
printf("수 \n");
}
else if (score >= 80) {
printf("우 \n");
}
else if (score >= 70) {
printf("미 \n");
}
else if (score >= 60) {
printf("양 \n");
}
else {
printf("가 \n");
}
 
return 0;
}
 
 
 
자가진단 4
복싱체급은 몸무게가 50.80kg 이하를 Flyweight, 61.23kg 이하 Lightweight, 72.57kg 이하 Middleweight, 88.45kg 이하 Cruiserweight, 그 이상을 Heavyweight라고 하자. 몸무게를 입력받아 체급을 출력하는 프로그램을 작성하시오.
 
입력 예 87.3
출력 예 Cruiserweight
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
double weight;
 
scanf("%lf", &weight);
 
if (weight <= 50.80) {
printf("Flyweight \n");
}
else if (weight <= 61.23) {
printf("Lightweight \n");
}
else if (weight <= 72.57) {
printf("Middleweight \n");
}
else if (weight <= 88.45) {
printf("Cruiserweight \n");
}
else {
printf("Heavyweight \n");
}
 
return 0;
}
 
 
 
//5
주사위를 두 번 던져서 나온 수를 입력받아 두 수가 모두 4 이상이면 "이겼습니다." 한 개만 4 이상이면 "비겼습니다." 모두 4 미만이면 "졌습니다." 라고 출력하는 프로그램을 작성하시오.
입력 예 주사위를 던진 결과를 입력하세요. 3 4
출력 예 비겼습니다.
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a, b;
 
printf("주사위를 두 번 던진 결과를 입력하세요. ");
scanf("%d %d", &a, &b);
 
if (a >= 4 && b >= 4) {
printf("이겼습니다. \n");
}
else if (a >= 4 || b >= 4) {
printf("비겼습니다. \n");
}
else {
printf("졌습니다. \n");
}
 
return 0;
}
 
 
 
자가진단 5
두 개의 실수를 입력받아 모두 4.0 이상이면 "A", 모두 3.0 이상이면 "B", 아니면 "C" 라고 출력하는 프로그램을 작성하시오.
입력 예 4.3 3.5
출력 예 B
 
입력 예 4.0 2.9
출력 예 C
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
double a, b;
 
scanf("%lf %lf", &a, &b);
if (a >= 4.0 && b >= 4.0) {
printf("A \n");
}
else if (a >= 3.0 && b >= 3.0) {
printf("B \n");
}
else {
printf("C \n");
}
 
return 0;
}
 
 
 
//6
정수 3개를 입력 받아 그중 가장 큰 수를 출력하는 프로그램을 작성하시오.
입력 예 세 수를 입력하세요. 1 5 4
출력 예 입력받은 수중 가장 큰 수는 5입니다.
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
 
int main()
{
int a, b, c, max;
 
printf("세 수를 입력하세요. ");
scanf("%d %d %d", &a, &b, &c);
 
if (a > b) {
if (a > c) {
max = a;
}
else {
max = c;
}
}
else {
if (b > c) {
max = b;
}
else {
max = c;
}
}
 
printf("입력받은 수 중 가장 큰 수는 %d입니다. \n", max);
 
return 0;
}
 
 
 
자가진단 6
남자는 'M', 여자는 'F'로 나타내기로 하고, 18세 이상을 성인이라고 하자.
성별과 나이를 입력받아 "MAN" (성인남자), "WOMAN" (성인여자), "BOY" (미성년남자), "GIRL" (미성년여자) 을 구분하여 출력하는 프로그램을 작성하시오.
입력 예 F 15
출력 예 GIRL
 
 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
 
int main()
{
char gender;
int age;
 
 
scanf(" %c %d", &gender, &age);
 
if (gender == 77) {
if (age >= 18) {
printf("MAN");
}
else {
printf("BOY");
}
}
else {
if (age >= 18) {
printf("WOMAN");
}
else {
printf("GIRL");
}
}
 
return 0;
}
 
/*
 
if (gender == 77) 를 if (gender == 'M')으로 바꾸어도 같은 결과를 얻을 수 있다.
 
*/
 
 
 
//7
아래의 메뉴에서 선택한 메뉴를 알려주는 프로그램을 작성하시오.
입력 예 2
출력 예 수정을 선택하셨습니다.
 
#include<stdio.h>
 
int main()
{
int num;
 
printf("1. 삽입 \n");
printf("2. 수정 \n");
printf("3. 삭제 \n");
printf("숫자를 선택하세요. ");
 
scanf("%d", &num);
 
switch (num)
{
case 1:
printf("삽입을 선택하셨습니다. \n");
break;
case 2:
printf("수정을 선택하셨습니다. \n");
break;
case 3:
printf("삭제를 선택하셨습니다. \n");
break;
default :
printf("잘못 입력하셨습니다. \n");
}
return 0;
}
 
 
 
자가진단 7
영문 대문자를 입력받아 'A'이면 "Excellent", 'B'이면 "Good", 'C'이면 "Usually", 'D'이면 "Effort", 'F'이면 "Failure", 그 외 문자이면 "error"라고 출력하는 프로그램을 작성하시오.
입력 예 B
출력 예 Good
 
#include<stdio.h>
 
int main()
{
char grade;
 
scanf(" %c", &grade);
 
switch (grade)
{
case 'A':
printf("Excellent \n");
break;
case 'B':
printf("Good \n");
break;
case 'C':
printf("Usually \n");
break;
 
case 'D':
printf("Effort \n");
break;
 
case 'F':
printf("Failure \n");
break;
default :
printf("error");
}
return 0;
}
 
 
 
//8
입력받은 점수를 "수우미양가"로 평가하는 프로그램을 작성하시오.
 
입력 예 점수를 입력하세요. 92
출력 예 수
 
#include<stdio.h>
 
int main()
{
int score;
printf("점수를 입력하세요. ");
scanf("%d", &score);
 
switch (score / 10)
{
case 10:
case 9:
printf("수 \n");
break;
case 8:
printf("우 \n");
break;
case 7:
printf("미 \n");
break;
case 6:
printf("양 \n");
break;
default :
printf("가 \n");
}
 
return 0;
}
 
 
 
자가진단 8
4.5 이하의 평점을 입력받아 그 값에 따라 다음과 같이 출력하는 프로그램을 작성하시오.
4.0 이상 : scholarship
3.0 이상 : next semester
2.0 이상 : seasonal semester
2.0 미만 : retake
입력 예 3.5
출력 예 next semester
 
 
#include<stdio.h>
 
int main()
{
float score;
scanf("%f", &score);
 
switch ((int)score)
{
case 4:
printf("scholarship \n");
break;
case 3:
printf("next semester \n");
break;
case 2:
printf("seasonal semester \n");
break;
default :
printf("retake \n");
}
 
return 0;
}
 
 
 
//9
두 개의 정수를 입력받아 조건연산자를 이용하여 두 수중 큰 수를 출력하는 프로그램을 작성하시오.
입력 예 89 100
출력 예 100
 
#include<stdio.h>
 
int main()
{
int a, b;
int max_data;
 
scanf ("%d %d", &a, &b);
 
max_data = (a > b) ? a : b;
 
printf("%d\n", max_data);
return 0;
}
 
 
 
자가진단 9
3개의 정수를 입력받아 조건연산자를 이용하여 입력받은 수들 중 최소값을 출력하는 프로그램을 작성하시오.
입력 예 18 –5 10
출력 예 -5
 
 
#include<stdio.h>
 
int main()
{
int a, b, c;
int min;
 
scanf ("%d %d %d", &a, &b, &c);
 
 
min = (a < b) ? a : b;
min = (min < c) ? min : c;
 
printf("%d\n", min);
return 0;
}
 
 

'Basics > 자기주도 C언어 프로그래밍' 카테고리의 다른 글

[Chapter] 07 반복제어문 II  (0) 2023.07.14
[Chapter] 06 반복제어문 I  (0) 2023.07.14
[Chapter] 03 연산자  (0) 2023.07.14
[Chapter] 02 입력  (0) 2023.07.14
[Chapter] 01 출력  (0) 2023.07.14