C, C++/3.반복과 조건

0207 if, case문 연습문제

ds97l 2022. 2. 14. 22:12

1번문제

예제 switch)

수식을 띄어 쓰기로 한중에 입력받고 switch~case문을 활용하여 두 수의 + - * / % 연산을 수행하는 프로그램

실행결과

수식을 한 줄로 띄어쓰기로 입력하세요 : 100 - 20

100 - 20 = 80 입니다.

수식을 한 줄로 띄어쓰기로 입력하세요 : 33 # 22

연산자를 잘못 입력했습니다.

코드

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<malloc.h>
#include<string.h>

void main() {
	int a, b;
	char h;

	printf("첫 번째 수를 입력하시오 : ");
	scanf("%d", &a);
	printf("계산할 연산자를 입력하시오 : ");
	scanf(" %c", &h); //%c앞에 한칸 띄어주는 이유(엔터누른 값이 입력으로 들어가서)
	printf("두 번째 수를 입력하시오 : ");
	scanf("%d", &b);

	if (h == '+')
		printf("%d %c %d = %d", a, h, b, a + b);
	else if (h == '-')
		printf("%d %c %d = %d", a, h, b, a - b);
	else if (h == '/')
		printf("%d %c %d = %d", a, h, b, a / b);
	else if (h == '*')
		printf("%d %c %d = %d", a, h, b, a * b);
	else if (h == '%')
		printf("%d %c %d = %d", a, h, b, a % b);
	else
		printf("error");
}

결과창

2번문제

예제 if)

단순 if문을 활용하여 두수의 +, -, *, /, % 연산을 수행하는 프로그램을 작성하시오

실행결과

첫 번째 수를 입력하시오 : 10

계산할 연산자를 입력하시오 : *

두 번째 수를 입력하기오 : 2

10 * 2 = 20 입니다.

코드

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

void main() {
	char h;
	int a, b, c;

	printf("연산식을 입력하시오 : ");
	scanf("%d %c %d", &a,&h,&b);
	
	switch (h) {
	case '+':
		c = a + b;
		printf("%d + %d = %d", a, b, c);
		break;
	case '-':
		c = a - b;
		printf("%d - %d = %d", a, b, c);
		break;
	case '*':
		c = a * b;
		printf("%d * %d = %d", a, b, c);
		break;
	case '/':
		c = a / b;
		printf("%d / %d = %d", a, b, c);
		break;
	case '%':
		c = a % b;
		printf("%d %% %d = %d", a, b, c);
		break;
	}
}

결과창