본문 바로가기
C Programming/연습 문제

[C언어 연습문제]강좌 2. Sum and Difference of Two Numbers(printf()와 scanf())

by 희품 2019. 2. 14.
반응형


서론

Hello, World! 를 찍어봤다면, 이제 printf()와 scanf()를 사용해서 입력을 받아보고, 출력을 해봐야죠. 아직은 복습하는 단계로 가볍게 넘어갈 수 있을 것 같아요.


Hacker Rank는 해외사이트로, 모든 게 영어로 구성되어 있는데요, 영어 자료를 같이 가져오는 게 나을까요? 지금처럼 한글로 쉽게 풀어 놓는 게 좋을까요? 영어를 같이 가져오면 장점이 영어 구글링 능력의 향상과 영어 실무에 대한 이해도, 실무 업무에 대한 이해도가 올라갈 수 있다는 장점이 있지만, 영어 원문을 같이 가져오면 초보자분들이 보기 어려워 보일 수 있다는 점, 아무래도 가독성이 떨어지는 점 등이 있으니까요.


댓글로 의견을 남겨주시면 감사하겠어요~


학습(Study)

C 언어의 기본 데이터 유형은 int, float, char, char가 있습니다.

printf() 함수는 콘솔에 출력을 해주는 함수이고, printf는 아래처럼 쓰면 됩니다.

printf("format string", argument_list);


정수, 문자, 문자열, 실수의 인자 값이 있을 때, 형식 문자열은 각각 %d, %c, %s, %f로 사용할 수 있습니다.


scanf() 함수는 콘솔에 입력 데이터를 읽어오는 함수입니다. scanf의 기본 문법은 아래처럼 쓰면 됩니다.

scanf("format string", argument_list);


int number; 라는 정수 변수에 콘솔 입력값을 받아오는 예를 들면, scanf("%d", &number); 라고 쓸 수 있고, number 변수에 입력받은 정숫값을 받아옵니다. 2개의 정수를 읽어 들이는 방법은 scanf("%d %d", &n, &m) 입니다.

n과 m에 입력받은 2개의 정수를 입력받게 됩니다.


목표(Objective)

2개의 int형 정수 데이터와 2개의 float형 실수 데이터의 합과 차를 구하면 됩니다.


과제(Task)

1. 2개의 int형 변수와 2개의 float형 변수, 총 4개의 변수를 선언합니다.

2. 총 4개의 수(정수 2개, 실수 2개)를 2줄로 입력받아 입력 형식(Input Format)과 같이 입력합니다.

3. 새로운 줄에 정수 2개의 합과 차를 출력합니다.

4. 새로운 줄에 2개의 실수의 합과 차를 출력합니다.


입력 형식(Input Format)

첫 줄에는 2개의 정수를 입력받고 개행합니다.

두 번째 줄에는 2개의 실수를 입력받습니다.


제약 조건(Constraints)


출력 형식(Output Format)

첫 번째 줄에는 공백으로 구분된 두 정수의 합과 차 구하고, 두 번째 줄에는 공백으로 구분된 두 실수의 합과 차를 구하고, 소수점 1자리까지 표출합니다.


입력 예제(Sample Input)

10 4

4.0 2.0


출력 예제(Sample Output)

14 6

6.0 2.0


코드


#include <stdio.h>
#include <stdlib.h>
int main()
{
    // 1. 2개의 int형 변수와 2개의 float형 변수, 총 4개의 변수를 선언합니다.
    int     nFirst = 0, nSecond = 0;
    float   fFirst = 0.0, fSecond = 0.0;
 
    // 2. 총 4개의 수(정수 2개, 실수 2개)를 2줄로 입력받아
    //    입력 형식(Input Format)과 같이 입력합니다.
    scanf("%d %d", &nFirst, &nSecond);
    scanf("%f %f", &fFirst, &fSecond);
    // 3. 새로운 줄에 정수 2개의 합과 차를 출력합니다.
    printf("\n%d %d", nFirst + nSecond, nFirst - nSecond);
 
    // 4. 새로운 줄에 2개의 실수의 합과 차를 출력합니다.
    printf("\n%.1f %.1f", fFirst + fSecond, fFirst - fSecond);
    
    return 0;
}


실제 프로그램 출력 결과는 아래 처럼 나옵니다.






반응형