Language/C

[ C ] [ if 조건문 연습 문제 ] 승 출력 프로그램

곽수진 2021. 10. 11. 15:38
반응형
사용자에게 두 개의 정수 a, b를 입력받아 a가 더 크면 a*2의 b승을, b가 더 크면 b*2의 a승을 구해 출력하는 프로그램을 작성해보자.

단, a와 b가 같은 경우 a*b를 출력

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void) {

	int a, b;

	printf("첫 번째 정수를 입력하세요: ");
	scanf("%d", &a);

	printf("두 번째 정수를 입력하세요: ");
	scanf("%d", &b);

	if (a > b)
		printf("결과: %d", a << b);
	else if (a < b)
		printf("결과: %d", b << a);
	else
		printf("결과: %d", a * b);


	return 0;
}

▶ 승을 출력할 때는 비트 연산자 이용

    : a가 b보다 클 경우 a*2의 b승(a<<b) 출력

    : b가 a보다 클 경우 b*2의 a승(b<<a) 출력

 

 

출력 결과 모습

→ a가 b보다 크기 때문에 a*2의 b승, 즉 3*2의 2승 값인 12 출력

 

출력 결과 모습

→ b가 a보다 크기 때문에 b*2의 a승, 즉 2*2의 1승 값인 4 출력

 

출력 결과 모습

→ a와 b의 값이 동일하기 때문에 두 값의 곱인 25 출력

반응형