독학으로 배우는 C언어 022 조건문 다중 if 문
Contents
1. 다중 if 문
비교나 선택을 해야 할 조건이 많은 경우에 if 문 내부에 if문을 여러 개 사용하는 것을 다중 if 문이라고 한다.
실습 1: 소문자 판별 프로그램
입력한 문자가 소문자인지를 판별하는 프로그램을 작성해 보자.(ifmult01.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char a;
a = getchar();
if (a >= 'a')
if (a <= 'z')
printf("%c 는 소문자 입니다.", a);
return 0;
}
◉ 설명 : 행 설명
첫 번째 if 문에서 입력받은 문자가 소문자 a (아스키 코드값 97) 보다 크거나 같으면 조건이 참이므로 두 번째 조건을 확인한다.
입력 받은 문자가 두 번째 조건인 z ( 아스키 코드값 122) 보다 작거나 같으면 소문자 범위 안에 해당되므로 if문을 수행한다.
만약 두 조건 중 하나라도 만족하지 않으면 if 문을 수행하지 않는다.
실습 2: 양수 음수 판별 1
수를 입력받아 양수이면 양수 음수이면 음수라고 출력하는 프로그램을 작성해 보자.(ifmult02.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
main()
{
int a;
printf("정수입력 : ");
scanf("%d", &a);
if (a >= 0)
printf("%d는 양수 \n", a);
if (a < 0)
printf("%d는 음수 \n", a);
return 0;
}
위 내용을 다음과 같이 프로그래밍할 수 있다.(ifmult03.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
main()
{
int a;
printf("정수입력 : ");
scanf("%d", &a);
if (a >= 0)
printf("%d는 양수 \n", a);
else if (a < 0)
printf("%d는 음수 \n", a);
return 0;
}
실습 3: 양수 음수 판별 2
입력된 데이터가 양수이면 “양수입니다.” 음수이면 “음수입니다.” 0 이면 “ 0입니다.” 가 출력되는 프로그램을 작성해 보자.(ifmult04.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main()
{
int n;
printf(" 숫자를 입력하세요 ");
scanf("%d", &n);
if (n > 0)
printf("%d 는 양수입니다\n", n);
else {
if (n < 0)
printf(" %d 는 음수입니다\n", n);
else
printf("0 입니다 \n");
}
return 0;
}
실습 4: 성적 계산 1
국어, 영어, 수학 점수를 입력받아 평균을 계산하여 평균점수가 90점 이상이면 “A” 80점 이상이면 “B” 70점 이상이면 “C” 60점 이상이면 “D” 60점이하이면 “F”를 출력하는 프로그램을 작성해보자.(ifmult05.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
main() {
int kor, eng, mat;
float ave;
printf("국어 점수를 입력하세요 : ");
scanf("%d", &kor);
printf("영어 점수를 입력하세요 : ");
scanf("%d", &eng);
printf("수학 점수를 입력하세요 : ");
scanf("%d", &mat);
ave = (kor + eng + mat) / 3;
printf("점수의 평균은 %f입니다.\n", ave);
if (ave >= 90)
printf("당신의 점수는 A입니다.");
else if (ave >= 80)
printf("당신의 점수는 B입니다.");
else if (ave >= 70)
printf("당신의 점수는 C입니다.");
else if (ave >= 60)
printf("당신의 점수는 D입니다.");
else
printf("당신의 점수는 F입니다.");
}
실습 5: 성적 계산 2
위 프로그램에서 학점을 변수로 사용하여 출력하는 프로그램으로 변경해보자.(ifmult06.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main()
{
int a, b, c, hap, avg;
char ra;
printf(" 국어 점수를 입력하세요 ");
scanf("%d", &a);
printf(" 수학 점수를 입력하세요 ");
scanf("%d", &b);
printf(" 영어 점수를 입력하세요 ");
scanf("%d", &c);
hap = a + b + c;
avg = hap / 3;
if (avg >= 90)
ra = 'A';
else if (avg >= 80)
ra = 'B';
else if (avg >= 70)
ra = 'C';
else if (avg >= 60)
ra = 'D';
else
ra = 'F';
printf("당신의 점수는 %c 입니다.\n", ra);
}
실습 6: 수치 범위 구분하기
정수를 입력하여 10미만 ,10에서 99, 100 에서 999, 1000 이상으로 구분하여 출력하는 프로그램을 작성해보자.(ifmult07.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main()
{
int a;
printf(" 정수를 입력하세요 ");
scanf("%d",&a);
if ( a>100){
if (a>=1000) /* a 가 100 이상이며 1000 이상일때 */
printf("%d 는 1000 이상 \n",a);
else /* a 가 100 이상이며 1000 미만일때 */
printf("%d 는 100 에서 999\n",a);
}
else{
if ( a<10) /* a 가 100미만이며 10 미만일때 */
printf("%d 는 10 미만 \n",a);
else /* a 가 100미만이며 10 이상일때 */
printf("%d 는 10 에서 99\n",a);
}
}
실습 7: 가장 큰 수 출력하기
세 수를 입력받아 가장 큰수를 출력하는 프로그램을 작성해 보세요.(ifmult08.c)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main()
{
int a, b, c, max;
printf(" 첫번째 수를 입력하세요 ");
scanf("%d", &a);
printf(" 두번째 수를 입력하세요 ");
scanf("%d", &b);
printf(" 세번째 수를 입력하세요 ");
scanf("%d", &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);
}
'C 프로그래밍' 카테고리의 다른 글
독학으로 배우는 C언어 021 조건문 if else 문 (2) | 2024.12.02 |
---|---|
독학으로 배우는 C언어 020 조건문 단일 if문 (2) | 2024.09.06 |
독학으로 배우는 C언어 019 대입 연산자 (0) | 2024.08.28 |
독학으로 배우는 C언어 018 8진수와 16진수의 표시 (0) | 2024.08.15 |
독학으로 배우는 C언어 017 다양한 입력 함수 (0) | 2024.07.30 |
댓글