1주차 문제 해설 :: C언어 입문

본 문서에서는 1주차 문제에 대해 다룹니다.

이번 문서에서 다룰 문제리스트는 다음과 같습니다.

Hello World

Hello World https://www.acmicpc.net/problem/2557

가장 기본적인 Hello World!를 출력함수를 통해서 출력하는 문제입니다.

코드는 간단합니다.

#include <stdio.h>

int main(){
  printf("Hello World!\n");
  return 0;
}

C언어의 기본적인 문법, Main 함수의 이해, Stdio.h 헤더파일 Import, 출력함수 printf에 대해 알고 있었다면 무리없이 쉽게 풀 수 있는 문제였습니다.

A + B

A + B https://www.acmicpc.net/problem/1000

이번에는 두 정수 A와 B를 받아서 결과값으로 A+B 값을 출력하는 문제입니다. 이번 문제도 C언어의 기본적인 문법을 알고 있다면, 무리없이 쉽게 풀 수 있는 문제입니다.

#include <stdio.h>

int main(){
  int a, b;
  scanf("%d %d", &a, &b);
  printf("%d\n", a+b);
  return 0;
}

Hello World 문제와 다른 점이 있다면, 이번 문제에서는 scanf 함수, 즉 입력함수가 추가되었다는 점입니다. scanf에서는 변수의 주소값을 넣어줘야한다는 점을 꼭 기억하시길 바랍니다.

A - B

A - B https://www.acmicpc.net/problem/1001

이번에는 두 정수 A와 B를 받아서 결과값으로 A-B 값을 출력하는 문제입니다. A + B 문제와 동일하지만 +가 -로만 바뀌었습니다.

#include <stdio.h>

int main(){
  int a, b;
  scanf("%d %d", &a, &b);
  printf("%d\n", a-b);
  return 0;
}

오늘 날짜

오늘 날짜 https://www.acmicpc.net/problem/10699

이번에는 현재 날짜를 기준으로 오늘 날짜를 YYYY-MM-DD 형식으로 출력하는 문제입니다. ex)2017-04-07 이 문제도 printf 함수의 사용법만 알고있다면 쉽게 풀 수 있는 문제입니다.

#include <stdio.h>

int main(){
  printf("2017-04-07\n");
  return 0;
}

이 문제에서 유의할 점은 이 문제를 푸는 시각의 현재 날짜를 입력해야 한다는 점입니다. 이 문서를 작성일이 2017년 4월 7일이기 때문에 출력값을 2017-04-07로 지정한 것 뿐이며, 만약에 이 문제를 푸는 날짜가 2018년 12월 31일일 경우에는 2018-12-31이 출력되도록 문제를 풀어야 합니다.

고양이

고양이 https://www.acmicpc.net/problem/10171

이 문제는 이스케이프 문자에 대해 이해가 필요한 부분입니다. printf함수에서 \(백슬래시)를 써주기 위해서는 \\ 이와 같이 백슬래시를 두 번 써줘야 한 개의 백슬래시 기호가 나오게 됩니다. (모든 이스케이프 문자는 백슬래시 + 기호 로 이뤄져 있기 때문)

#include <stdio.h>

int main(){
    printf("\\    /\\\n");
    printf(" )  ( ')\n");
    printf("(  /  )\n");
    printf(" \\(__)|\n");
    return 0;
}

results matching ""

    No results matching ""