<흐름>
1. 연산 방법을 안내하는 메시지 함수 만들기
2. 각 연산 방법마다 함수 만들어주기 -> 총 4개
3. 연산 번호 입력 받고 연산 결과 출력
<문제>
1. <흐름> 2처럼 함수를 작성하려고 한 이유는 코드를 깔끔하게 보기 위해서이다. 하지만 그렇게 하면 문제가 발생한다.
함수는 여러 값을 입력받을 순 있지만 단 하나만 리턴 하기 때문에 (여기서는 아직 포인터를 배우기 전이라 포인터를 사용하지 않고 풀려고 함) 함수를 사용할 수 없다
-> 그냥 main 함수 안에다가 switch문을 이용하여 각 case 안에다가 각각의 연산을 입력하기로 했다.
2. switch 문 안에서 변수 선언 하려고 했는데 빨간줄이 뜬다.
-> 잇츠 오케이..라고 하는데 repl.it에서는 오류 떠서 그냥 밖에다가 선언 해줬다. 암튼 그래도 참고한 블로그 요기아래
참고 블로그 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=tipsware&logNo=221290975902
3. 그냥 드는 생각
두 정수를 교환하는 다양한 방법이 있는데 아마 이것들 중 아무것도 잘 안 쓰고 포인터를 주로 쓰겠지?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void printMessage();
int main(){
int x, y, calNum, dump;
printf("교환할 두 정수를 입력하세요. >> ");
scanf("%d %d", &x, &y);
printf("입력한 두 수: x = %d and y = %d", x, y);
printf("\n\n");
printMessage();
printf("위 교환 방법 중 한 번호를 선택하세요. >> ");
scanf("%d", &calNum);
switch(calNum){
case 1:
dump = x;
x = y;
y = dump;
break;
case 2:
x = x+y;
y = x-y;
x = x-y;
break;
case 3:
x = x*y;
y = x/y;
x = x/y;
break;
case 4:
x = x^y;
y = x^y;
x = x^y;
break;
default:
break;
}
printf("\n\n");
printf("교환한 두 수: x = %d and y = %d\n", x, y);
return 0;
}
void printMessage(){
printf("임시 저장 장소 이용 방법[1]\n");
printf("덧셈과 뺄셈으로 교환 방법[2]\n");
printf("곱셈과 나눗셈으로 교환 방법[3]\n");
printf("XOR 연산자 ^ 이용 방법[4]\n");
printf("\n\n");
return;
}
<실행 결과>

'Algorithm > BOJ' 카테고리의 다른 글
| [C/perfect C] 프로젝트 Part 1-05 : 십진수를 이진수, 8진수, 16진수로 변환 (0) | 2023.01.03 |
|---|---|
| [C/perfect C] 프로젝트 Part 1-04 : 소수로 삼각형 만들기 (0) | 2022.12.13 |
| [C/Perfect C] 프로젝트 Part 1-02 : 비트 연산 & | ^ ~ (0) | 2022.12.07 |
| [C/Perfect C] 프로젝트 Part 1-01 : 다양한 길이의 변환 구하기 (2) | 2022.12.07 |
| [C/백준]2525번 (0) | 2022.05.29 |