본문 바로가기
ProgrammingLanguage/C언어

C언어 | if else if 예제

by 씽쌩쏭 2021. 2. 14.
728x90

✅ 문제 : 복소수 출력

 

복소수의 실수부, 허수부를 개별적으로 입력 받아 아래와 같이 복소수 형태로 출력하시오.

 

//실행 예시 1
실수부: 5.4
허수부: 2.1
5.4 + 2.1i

//실행 예시 2
실수부: -7
허수부: -1
-7.0 -i // -1i가 아니라 -i임에 유의

//실행 예시 3
실수부: 5
허수부: 0
5.0 // 5 + 0i가 아니라 5임에 유의

//실행 예시 4
실수부: 0
허수부: 1
+i // 0 + 1i가 아니라 +i임에 유의

 

if else if문을 엄청나게 사용해야 하는 예제 !!

 

바로 코드 봅시당

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	float a, b;//실수부, 허수부

	printf("실수부: ");
	scanf("%f", &a);

	printf("허수부: ");
	scanf("%f", &b);

	if (a == 0) //실수부 0일 때
		if (b == 0)//허수부 0일때
			printf("");
		else//허수부 0이 아닐 때
			if (b - (int)b == 0)//허수부 정수일 때
				if (b == 1) //허수부 1일 때
					printf("+i");
				else if (b == -1) //허수부 -1일 때
					printf("-i");
				else 
					printf("%di", (int)b);

			else //허수부 정수가 아닐 때
				printf("%6.1fi", b);


	else //실수부 0이 아닐 때
		if (b == 0)//허수부 0일때
			printf("%6.1f", a);
		else//허수부 0이 아닐 때
			if (b - (int)b == 0)//허수부 정수일 때
				if (b == 1) //허수부 1일 때
					printf("%6.1f+i", a);
				else if (b == -1) //허수부 -1일 때
					printf("%6.1f-i", a);
				else
					printf("%6.1f+%di", a, (int)b);
			else //허수부 정수가 아닐 때
				printf("%6.1f+%6.1fi", a, b);

	

	return 0;
}

 

실행 예시

 

실수부, 허수부 모두 있을 때
허수부 -1일 때
허수부 존재X 때
실수부 존재X 때