상세 컨텐츠

본문 제목

[CodeUp] C언어 기초 100제 (1041~1045번) 풀이

C언어

by idea8590 2026. 2. 1. 21:43

본문

반응형

안녕하세요! CodeUp C언어 기초 100제, 1041번부터 1045번까지의 풀이와 상세 설명을 정리해 드립니다.

이번 단계는 산술 연산의 기초를 다지는 매우 중요한 구간입니다.

특히 "문자도 더하기가 된다"는 개념과 "정수 나누기와 실수 나누기는 다르다"는 점을 명확히 이해하시면 앞으로의 코딩이 훨씬 수월해질 것입니다. 

 

 

1041번 : 문자 1개 입력받아 다음 문자 출력하기

영문자 1개를 입력받아 아스키 코드상 그 다음 순서의 문자를 출력하는 문제입니다.

C
 
#include <stdio.h>

int main() {
    char a;
    scanf("%c", &a);
    printf("%c", a + 1); 
    return 0;
}

 

실행 결과

입력 예시: A
출력 예시: B

 

상세 설명 C언어에서 문자(char)는 내부적으로 정수 값(아스키 코드)으로 저장됩니다. 예를 들어 'A'는 65입니다. 문자 변수에 1을 더하면 66이 되고, 이를 다시 문자로 출력하면 66에 해당하는 'B'가 출력됩니다.


1042번 : 정수 2개 입력받아 나눈 몫 출력하기

정수 2개를 입력받아 나눈 몫을 출력하는 문제입니다.

C
 
#include <stdio.h>

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

 

실행 결과

입력 예시: 1 3
출력 예시: 0

상세 설명

 

C언어에서 정수끼리의 나눗셈(/)은 소수점 이하를 버리고 정수 부분(몫)만 남깁니다. 1 나누기 3은 0.333...이지만 정수 연산이므로 소수점이 버려져 0이 출력됩니다.


1043번 : 정수 2개 입력받아 나눈 나머지 출력하기

정수 2개를 입력받아 나눈 나머지를 출력하는 문제입니다.

C
 
#include <stdio.h>

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

 

실행 결과

입력 예시: 10 3
출력 예시: 1

 

상세 설명 나눗셈의 몫이 아닌 나머지를 구할 때는 퍼센트 기호(%)인 나머지 연산자를 사용합니다. 10을 3으로 나누면 몫은 3이고 나머지가 1이 남으므로 1이 출력됩니다.


1044번 : 정수 1개 입력받아 1 더해 출력하기

입력받은 정수에 1을 더해 출력합니다. 입력 범위가 int를 넘을 수 있습니다.

C 코드

C
 
#include <stdio.h>

int main() {
    long long int n;
    scanf("%lld", &n);
    printf("%lld", ++n);
    return 0;
}

 

실행 결과

입력 예시: 2147483647
출력 예시: 2147483648

 

상세 설명 입력 예시인 2147483647은 int 자료형의 최대값입니다. 여기서 1을 더하면 int 범위를 초과(오버플로우)하므로, 더 큰 범위를 저장할 수 있는 long long int 자료형을 사용해야 합니다. 입출력 서식 지정자로는 %lld를 사용합니다.


1045번 : 정수 2개 입력받아 자동 계산하기

두 정수를 입력받아 합, 차, 곱, 몫, 나머지, 그리고 나눈 값을 실수로 출력합니다.

C
 
#include <stdio.h>

int main() {
    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);       // 나머지
    printf("%.2f", (float)a / b); // 나눈 값(실수)
    
    return 0;
}

 

실행 결과

입력 예시: 10 3
출력 예시:
13
7
30
3
1
3.33

상세 설명 정수끼리 나누면 소수점이 사라지므로, 소수점 결과를 얻기 위해서는 (float)를 사용하여 강제로 형변환(Casting)을 해야 합니다. 변수 a를 실수로 변환하면 계산 결과도 실수가 되어 소수점이 보존됩니다. %.2f는 소수점 둘째 자리까지 출력하라는 의미입니다.

 

핵심 요약

  1. 문자 연산: char형은 숫자로 저장되므로 덧셈/뺄셈이 가능합니다. (ASCII 코드)
  2. 나눗셈 주의: 정수끼리의 / 연산은 만 반환합니다.
  3. 나머지: % 연산자는 나눗셈의 나머지를 반환합니다.
  4. 큰 수 처리: int 범위를 넘을 때는 long long int와 %lld를 사용합니다.
  5. 실수 나눗셈: 정수 나눗셈에서 소수점을 얻으려면 (float) 캐스팅이 필수입니다.
반응형

관련글 더보기