C++ 알고리즘 기초5 -두 변수의 swap, 값을 복사, 정수 입력받기-

1. 두 변수의 값을 교환하는 방법

 

a와 b의 값을 서로 바꾸는 방법은?

 

C++에서는 임시 변수 temp를 이용해서, a의 값을 temp에 저장해두고, a에 b 값을 넣은 다음, 

 

b에 a값을 저장해둔 temp값을 넣는다

 

다음은 a에 3을 넣고, b에 5를 넣은 다음, a,b를 교환하는 코드

 

#include <iostream>
using namespace std;

int main() {
    
    int a = 3, b = 5;

    int temp = a;
    a = b;
    b = temp;

    cout << a << endl << b;
    
    return 0;
}

 

a = 5, b = 6, c = 7일때, b에는 a값을 c에는 b값을 a에는 c값을 넣어 교환하는 방법

 

임시변수 하나만 써야한다면? 생각보다 어렵다.. 허허

 

#include <iostream>
using namespace std;

int main() {
    
    int a = 5, b = 6, c = 7;

    int temp = a;
    a = c;
    c = b;
    b = temp;

    cout << a << endl << b << endl << c;
    
    return 0;
}

 

2. 두 변수에 동시에 동일한 값을 복사하는 방법

 

a,b,c에 1,2,3을 넣고 c의 값 3을 a,b에 복사하는 방법은?

 

a = b = c로 하면.. c의 값을 b에 넣어주고, b의 값을 a에 넣어준다.

 

그래서 c의 값이 a,b에 들어가게 된다

 

#include <iostream>
using namespace std;

int main() {
    
    int a = 1, b = 2, c = 3;

    a = b = c;

    cout << a << " " << b << " " << c;
    
    return 0;
}
3 3 3

 

조금 응용해서.. a+b+c의 값을 a,b,c에 복사하는 방법은?

 

a = b = c = (a+b+c);하면 끝

 

#include <iostream>
using namespace std;

int main() {
    
    int a = 1, b = 2, c = 3;

    a = b = c = (a+b+c);

    cout << a << " " << b << " " << c;
    return 0;
}

 

3. cin

 

cin이라는 함수를 통해 공백 단위로 입력받을 수 있다.

 

정수 하나를 입력받아 변수 a에 저장하고 싶다면...

 

int a;로 변수를 선언하고

cin >> a; 으로 선언한 변수에 저장

 

int a;
cin >> a;

 

cout과 동일하게 iostream 헤더를 포함시켜야하며, using namespace std;를 사용해야함

 

다음은 a를 입력받아, a+2를 출력하는 코드

 

#include <iostream>
using namespace std;

int main() {
    int a;
    cin >> a;
    cout << a+2;

    return 0;
}
TAGS.

Comments