BOJ 입 출력 예제 모음

Hello,world(2557)

#include <unistd.h>

int	main(void)
{
	write(1, "Hello World!", 12);
	return (0);
}

헤더를 stdio.h로 넣고 printf써도 되는데 그냥 까불어봤다.


We love krill(10718)

#include <stdio.h>

int    main(void)
{
    printf("강한친구 대한육군\n강한친구 대한육군\n");
    return (0);
}

안 까불어봤다 ㅎ 강한친구 대한육군(개행)강한친구 대한육군(개행)


고양이(10171)

#include <stdio.h>

int    main(void){
    
 printf("\\    /\\\n");
 printf(" )  ( ')\n");
 printf("(  /  )\n");
 printf(" \\(__)|\n");

    return (0);
}

\는 c언어에서 의미를 가진 문자이기때문에, 앞에 \를 하나 더 붙여 그대로 출력해준다.


개(10172)

#include <stdio.h>

int    main(void)
{
    printf("|\\_/|\n");
    printf("|q p|   /}\n");
    printf("( 0 )\"\"\"\\\n");
    printf("|\"^\"`    |\n");
    printf("||_/=\\\\__|\n");
    return (0);
}

고양이와 마찬가지로 ' " \앞에 \를 붙여 출력해준다.


A + B(1000)

#include <stdio.h>

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

숫자 a와 b를 입력받은 후, 두 수를 합하여 출력


사칙연산(10869)

#include <stdio.h>

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

A + B와 같다. 다만 출력하는 값이 a-b인지 a*b인지 연산식만 달라짐


A / B(1008)

#include <stdio.h>

int    main(void)
{
    int    a, b;
    scanf("%d%d",&a,&b);
    printf("%.9lf\n",(double)a/(double)b);
    return (0);
}

10^-9보다 오차가 작게 '출력'하는 것 까지가 문제이다.
따라서 %d로 출력하면 틀리게 되는데, c의 자료형을 이해해야 한다.

lf 출력 자료형은 long float을 뜻하는데 .9는 부동 소수점 아래 9자리 밑으로 반올림하여 9자리까지 출력하라는 뜻이다. 아래 10자리에서 반올림하면 9자리까지는 오차 없이 맞게 되기 때문에 .9를 썼으며, int가 정수 자료형이였다면 double은 유리수 자료형을 나타낸다. int는 부동 소수점을 가지지 않으므로 double 자료형으로 형 변환을 해준 후 계산하여야 옳은 답을 출력할 수 있다.


나머지(10430)

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

문제의 x를 *로 바꿔서 출력해주면 된다.


곱셈(2588)

#include <stdio.h>

int    main(void)
{
    int    a, b;
    scanf("%d%d",&a,&b);
	  printf("%d\n",a * (b % 10));
//a랑 1의 자리 곱하기
    printf("%d\n",a * ((b / 10) % 10));
//a랑 10의 자리 곱하기
    printf("%d\n",a * (b / 100));
//a랑 100의 자리 곱하기
    printf("%d\n",a * b);
    return (0);
}

밑의 1의 자리에 구한 값, 10의 자리에 곱한 값, 100에 자리에 곱한 값과 전체 답을 구하면 된다.

전체 답을 구하는게 가장 쉽다.
1의 자리는 밑에 10에 대한 나머지 연산을 통해 1의 자리를 뽑아 구하면 되고,
10의 자리는 밑을 10으로 나누고, 10으로 다시 나머지 연산을 하면 10의 자리가 구해진다.
100의 자리는 밑을 100으로 나누면 100의 자리에 있는 값만 떨어져나오게 된다.

기본적인 파트라 한 번에 묶어서 썼다.


좋은 웹페이지 즐겨찾기