IT/BaekJoon

[백준/C++] 1000번 A+B

Buang 2022. 7. 11. 19:38
반응형

1. 문제

 

두 정수 A와 B를 입력받은 다음, 

A+B를 출력하는 프로그램을 작성하시오.

 

https://www.acmicpc.net/problem/1000

 

1000번: A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 


2. 풀이

 

1) 정수 생성

 

문제에서 두 정수 A와 B가 언급됐음으로

 

int A;

int B;

 

를 작성함으로서 정수를 보관할 변수 A와 B를 생성합니다.

int는 integer의 줄임말로 정수 변수를 생성할 땐 int를 작성해줍니다.


 

2) scanf 함수

 

scanf함수와 관련된 내용을 아직 잘 모르신다면

파랑색 글씨로 써진 '이 글'을 클릭하셔서

scanf에 대한 기초를 습득하신 다음

아래 글을 읽어보시는 걸 추천드리고 싶습니다.

 

이 글에선 속성으로 scanf에 대해 설명하고 넘어갈 예정입니다.

만약 scanf에 대해 잘 아신다면 바로 3. 코드 로 넘어가시는 걸 추천드립니다.

 


문제에서 '두 정수 A와 B를 입력받은 다음'이란 말이 있습니다. 

즉 입력을 받는 함수인 scanf 함수에 대해 알아야 하는 문제입니다.

 

scanf 형식은 아래와 같습니다.

 

scanf("입력받을 문자 서식", 변수 주소);

 

여기서 '입력받을 문자 서식'이란

입력받을 문자가 정수인지(1, 2, 3), 실수인지(1.25), 문자인지(부엉부엉)

를 물어보는 것입니다.

 

정수면 %d, 실수면 %f, 문자열이면 %s를 작성해줘야 합니다.

예를 들어서 정수를 입력받게 할 예정이라면

 

scanf("%d", 변수 주소);

 

이렇게 작성해주면 됩니다. 

 

 

%d 뒤에 '변수 주소'가 보입니다.

 

c++에서 변수 앞에 &를 붙이면 변수의 주소를 가리키게 됩니다.

가령 제가 int A;를 작성해서 A란 변수를 생성했다고 해봅시다.

그리고 다른 줄에 A앞에 &A를 작성해주면 A변수의 주소를 가리키게 됩니다.

예시를 들어보자면

 

#include <stdio.h>
 
int main(void) {

    int A;
    scanf("%d", &A);

    return 0;
}

 

라고 작성을 하면,

정수(1, 2, 3~99)가 입력받아질 때 

그 입력받은 정수는 A란 변수(집)에 저장해 놓겠습니다,가 됩니다.

 

예시로 위의 코드를 실행시킨 뒤

제가 키보드에서 숫자 5를 클릭하면

이 숫자 5는 변수 A에 저장됩니다.

 

입력을 받았으면

그 입력받은 걸 출력해야 겠죠.

그래서 scanf (입력)함수는 printf(출력) 함수와 같이 쓰입니다.

 

 

3) %d

 

%d는 scanf 즉 입력받을 때 말고도

printf 즉 출력할 때도 %d가 쓰입니다.

바로 예시를 들어보겠습니다.

 

#include <stdio.h>
 
int main(void) {

    int A;
    scanf("%d", &A);
    printf("A에 입력된 숫자는 %d 입니다.", A);

    return 0;
}

 

위의 코드를 해석해보자면 

 

int A; 는 정수를 담을 A변수를 생성하겠다. 이고,

 

scanf("%d", &A); 는 정수를 입력받을 예정(%d)인데 입력받은 정수는 변수 A에 저장할 거다. 이고,

 

printf("A에 입력된 숫자는 %d 입니다.", A); 는

 

변수 A에 담긴 숫자(정수)를 %d를 작성함으로서 출력할 수 있습니다.

 

 

제가 위의 코드를 실행시킨 뒤 5를 입력했다면 아래 사진처럼 나올 것입니다.

 

5를 입력함으로서 변수 A에는 정수 5가 들어갔을 것입니다.

첫 번째 줄에 제가 5를 입력했기 때문에 보이는 것입니다.

 

printf란 출력함수를 통해 변수 A에 저장되어 있던 값 5가

포함돼서 문자열(A에 입력된 숫자는 어쩌고, 저쩌고)이 출력된 것을 볼 수 있습니다.


3. 코드

 

#include <stdio.h>
 
int main(void) {
    
    int A;
    int B;
 
    scanf("%d", &A);
    scanf("%d", &B);
    
    printf("%d", A + B);
    return 0;
}

 

정수를 담을 변수 A와 B를 생성하고

입력을 받아야 하니 scanf함수를 생성해서 입력을 받고,

A와 B를 더한 값을 printf함수를 통해 출력하는 코드입니다.

 

코드를 실행시킨 후

1과 2를 입력했더니

1+2의 결과값인 3이 나온 것을 확인할 수 있습니다.

 

 

*추가

덧셈이 아니라 뺄셈을 하고 싶을 경우

A+B를 A-B로 바꿔주면 바로 끝이 납니다.

반응형