코딩 스터디

[250204] C 스터디 3주차

jisu0924 2025. 2. 4. 23:02

1. 덧셈식 출력하기

더보기

문제 설명
두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.

a + b = c


제한사항
1 ≤ a, b ≤ 100

#include <stdio.h>

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

지금 코드는 더한 값만 나오기 때문에 a와 b 그리고 계산식이 보여질 수 있도록 추가해 주면 된다. 여기서 +나 =같은 계산 연산자는 그냥 출력식에 입력해 주는 거라 아무런 효력이 없어서 그냥 그대로 입력해 주면 된다. 완성된 식은 다음과 같다.

#include <stdio.h>

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


2. 문자열 붙여서 출력하기

더보기

문제 설명
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.

제한사항
1 ≤ str1, str2의 길이 ≤ 10

#include <stdio.h>
#define LEN_INPUT1 11
#define LEN_INPUT2 11

int main(void) {
    char s1[LEN_INPUT1];
    char s2[LEN_INPUT2];
    scanf("%s %s", s1, s2);

    return 0;
}

흠... 그냥 출력식 쓸 떄 공백 안 쓰면 되는 아주 쉬운 문제이다. 완성 코드는 다음과 같다.

.

#include <stdio.h>
#define LEN_INPUT1 11
#define LEN_INPUT2 11

int main(void) {
    char s1[LEN_INPUT1];
    char s2[LEN_INPUT2];
    scanf("%s %s", s1, s2);
    printf("%s%s",s1,s2);

    return 0;
}


3. 문자열 돌리기

더보기

문제 설명
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.

제한사항
1 ≤ str의 길이 ≤ 10

#include <stdio.h>
#define LEN_INPUT 11

int main(void) {
    char s1[LEN_INPUT];
    scanf("%s", s1);

    return 0;
}

이것도 그냥 tab(\n)을 이용해서 한 줄 씩 써 주면 된다. 반복문으로 하나 써질 떄마다 탭 되게 코드 짜주면 된다. s1의 길이를 구해야 하기 때문에 길이 구하는 함수인 strlen을 사용하여 길이를 구해준 후 반복문으로 문자가 하나씩 나오도록 코드를 구현하면 되는데 여기서 조심할 점이 있다. 우선 코드를 입력해 보겠다.

#include <stdio.h>
#define LEN_INPUT 11

int main(void) {
    char s1[LEN_INPUT];
    scanf("%s", s1);
    int len = strlen(s1);
    for(int i=0;i<len;i++){
        printf("%s\n",s1[i]);
    }

    return 0;
}

이렇게 하면

오류 메세지가 뜨며 코드가 실행되지 않는다. 이유는 출력할 떄 문자열을 출력할 때 사용하는 %s 아닌 문자 하나를 출력하는 %c를 써야 하기 때문이다. c를 쓰면 문제가 풀린다.


4. 홀짝 구분하기

더보기

문제 설명
자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.

제한사항
1 ≤ n ≤ 1,000

#include <stdio.h>

int main(void) {
    int a;
    scanf("%d", &a);

    return 0;
}

홀짝을 판별하는 방법은 다음과 같다.

  • 예를 들어 홀수인 5를 2로 나누면 나머지가 1이다.
  • 예를 들어 짝수인 4를 2로 나누면 나머지가 0이다.

즉, 홀수를 2로 나눴을 떄는 나머지가 1이 되고, 짝수를 2로 나눴을 때는 나머지가 0이 된다는 소리다. 이를 이용하여 조건문을 사용해 나머지가 0일 떄는 짝수, 이외의 것은 홀수로 처리하면 된다. 완성 코드는 다음과 같다.

#include <stdio.h>

int main(void) {
    int a;
    scanf("%d", &a);
    if(a%2==0)
        printf("%d is even",a);
    else
        printf("%d is odd",a);

    return 0;
}


5. 몫 구하기

더보기

문제 설명,
정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.

제한사항
0 < num1 ≤ 100
0 < num2 ≤ 100

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int num1, int num2) {
    int answer = 0;
    return answer;
}

answer가 0으로 초기화되어 있으니 지금 식을 실행하면 답이 다 0으로 나온다. 따라서 answer의 값이 num1/num2를 입력해 주면 된다.

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int num1, int num2) {
    int answer = 0;
    answer=num1/num2;
    return answer;
}

'코딩 스터디' 카테고리의 다른 글

[250128] C 스터디 2주차  (0) 2025.01.29
[241125] C++ 스터디 5주차  (0) 2024.11.25
[241119] C++ 스터디 4주차  (0) 2024.11.20
[241112] C++ 스터디 3주차  (1) 2024.11.12
[241104] C++ 스터디 2주차  (0) 2024.11.04