imnyang's workspace

뒤로

1065#

세 정수 a, b, c가 입력되었을 때, 짝수만 출력해보자.

#include <stdio.h>

int main() {
    int a, b, c; // int형 변수 a, b, c 선언

    scanf("%d %d %d", &a, &b, &c); // 사용자로부터 세 개의 정수를 입력받아 변수 a, b, c에 저장

    if(a%2==0) { // a가 2로 나누어 떨어지는지 확인 (짝수인지 확인)
        printf("%d\n", a); // a가 짝수인 경우 a의 값을 출력
    }

    if(b%2==0) { // b가 2로 나누어 떨어지는지 확인 (짝수인지 확인)
        printf("%d\n", b); // b가 짝수인 경우 b의 값을 출력
    }

    if(c%2==0) { // c가 2로 나누어 떨어지는지 확인 (짝수인지 확인)
        printf("%d\n", c); // c가 짝수인 경우 c의 값을 출력
    }
}
c

int형 변수 a, b, c를 선언하고 사용자로부터 세 개의 정수를 입력받아 각각 a, b, c에 저장해요.
각 변수에 대해 2로 나누어 떨어지는지 확인하여 짝수인 경우 해당 값을 출력하는 프로그램이에요.

1065

1351#

시작단과 마지막 단을 입력하면 그 구간의 구구단을 출력하는 프로그램을 작성하시오.

#include <stdio.h>

int main() {
    int start, end; // 원하는 구구단의 시작과 끝 범위를 지정하는 변수 선언

    scanf("%d %d", &start, &end); // 사용자로부터 구구단의 시작과 끝 범위를 입력받아 변수 start와 end에 저장

    for (int i = start; i <= end; i++) { // start부터 end까지 반복하는 for 루프
        for (int j = 1; j <= 9; j++) { // 1부터 9까지 반복하는 for 루프
            printf("%d*%d=%d\n", i, j, i * j); // i와 j의 곱셈 결과를 "i*j=결과" 형식으로 출력
        }
    }
}
c

int형 변수 start와 end를 선언하고 사용자로부터 구구단의 시작과 끝 범위를 입력받아 각각 start와 end에 저장해요.
start부터 end까지 반복하는 for 루프를 사용하여 각 단에 대해 1부터 9까지 반복하는 for 루프를 중첩하여 i와 j의 곱셈 결과를 “i*j=결과” 형식으로 출력하는 프로그램이에요.

1351

1083#

3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다.
3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자.

#include <stdio.h>

int main() {
    int a; // 정수형 변수 a 선언
    scanf("%d", &a); // 사용자로부터 정수 a를 입력받아 변수 a에 저장
    for (int i = 1; i <= a; i++) { // 1부터 a까지 반복하는 for 루프
        if (i % 3 == 0) { // i가 3으로 나누어 떨어지는지 확인 (3의 배수인지 확인)
            printf("X "); // i가 3의 배수인 경우 "X "를 출력
        } else { // i가 3의 배수가 아닌 경우
            printf("%d ", i); // i의 값을 출력
        }
    }
}
c

int형 변수 a를 선언하고 사용자로부터 정수 a를 입력받아 변수 a에 저장해요.
1부터 a까지 반복하는 for 루프를 사용하여 i가 3으로 나누어 떨어지는지 확인하여 3의 배수인 경우 “X “를 출력하고, 그렇지 않은 경우 i의 값을 출력하는 프로그램이에요.

1083

1274#

소수란, 약수가 1과 자기 자신 두 개 뿐인 수를 말한다.
어떤 수가 입력되면 그 수가 소수인지 판단하시오.

#include <stdio.h>

int main() {
    int a; // 정수형 변수 a 선언
    scanf("%d", &a); // 사용자로부터 정수 a를 입력받아 변수 a에 저장

    for (int i = 2; i < a; i++) { // 2부터 a-1까지 반복하는 for 루프
        if (a % i == 0) { // a가 i로 나누어 떨어지는지 확인 (a가 i의 배수인지 확인)
            printf("not prime\n"); // a가 i의 배수인 경우 "not prime"을 출력하고
            return 0; // 프로그램 종료
        }
    }
    printf("prime\n"); // a가 2부터 a-1까지 어떤 수로도 나누어 떨어지지 않는 경우 "prime"을 출력
    return 0; // 프로그램 종료
}
c

int형 변수 a를 선언하고 사용자로부터 정수 a를 입력받아 변수 a에 저장해요.
2부터 a-1까지 반복하는 for 루프를 사용하여 a가 i로 나누어 떨어지는지 확인하여 a가 i의 배수인 경우 “not prime”을 출력하고 프로그램을 종료하며,
a가 2부터 a-1까지 어떤 수로도 나누어 떨어지지 않는 경우 “prime”을 출력하는 프로그램이에요.

1274

1358#

어떤 수 n을 입력받으면 다음과 같은 삼각형을 출력한다.
여기서 입력되는 n은 반드시 홀수이다.

#include <stdio.h>

int main() {
    int cute; // 정수형 변수 cute 선언

    scanf("%d", &cute); // 사용자로부터 정수 cute를 입력받아 변수 cute에 저장

    for (int i = 1; i <= cute; i++) { // 1부터 cute까지 반복하는 for 루프
        if (i % 2 == 0) { // i가 2로 나누어 떨어지는지 확인 (i가 짝수인지 확인)
            continue; // i가 짝수인 경우 다음 반복으로 넘어감
        }

        for (int j = 1; j <= (cute - i) / 2; j++) { // (cute - i) / 2만큼 반복하는 for 루프
            printf(" "); // (cute - i) / 2만큼 공백을 출력하여 "*"가 중앙에 위치하도록 함
        }

        for (int j = 1; j <= i; j++) { // 1부터 i까지 반복하는 for 루프
            printf("*"); // i만큼 "*"를 출력하여 삼각형을 만듦
        }
        printf("\n"); // 줄바꿈을 출력하여 다음 줄로 이동
    }
}
c

int형 변수 cute를 선언하고 사용자로부터 정수 cute를 입력받아 변수 cute에 저장해요.
1부터 cute까지 반복하는 for 루프를 사용하여 i가 짝수인 경우 continue를 사용하여 다음 반복으로 넘어가고, i가 홀수인 경우 (cute - i) / 2만큼 공백을 출력한 후 i만큼 ”*“를 출력하여 삼각형을 출력하는 프로그램이에요.

왜 (cute - i) / 2만큼 공백을 출력하나요?#

입력된 n이 홀수이므로, 삼각형의 가장 넓은 부분은 n개의 ”*“로 이루어져 있습니다.
삼각형의 각 줄에서 ”*“의 개수는 홀수로 증가하며, 각 줄의 ”*“이 중앙에 위치하도록 하기 위해서는 각 줄의 ”*” 개수에 따라 양쪽에 공백이 필요해요.
예를 들어, n이 5인 경우

별 수공백 수
1개2개
3개1개
5개0개

따라서, i가 홀수일 때 (cute - i) / 2만큼 공백을 출력하여 ”*“이 중앙에 위치하도록 만들어요.
1358

1132#

한 단어를 입력받아 출력한다.

#include <stdio.h>

int main() {
    char mizuki[9]; // 문자형 배열 mizuki 선언 (8 bytes + \0)
    scanf("%s", mizuki); // 사용자로부터 문자열을 입력받아 배열 mizuki에 저장
    printf("%s\n", mizuki); // 배열 mizuki에 저장된 문자열을 출력
}
c

char형 배열 mizuki를 선언하고 사용자로부터 문자열을 입력받아 배열 mizuki에 저장해요.
배열 mizuki에 저장된 문자열을 출력하는 프로그램이에요.
1132

1418#

어떤 문자열이 있을 때 문자 t의 위치를 모두 찾아 출력하시오.

#include <stdio.h>

int main() {
    char potato[11]; // 문자형 배열 potato 선언 (10 bytes + \0)

    scanf("%s", potato); // 사용자로부터 문자열을 입력받아 배열 potato에 저장

    for (int i = 0; i < 11; i++) { // 0부터 10까지 반복하는 for 루프 (배열의 인덱스 범위)
        if (potato[i] == 't') { // potato 배열의 i번째 요소가 문자 't'인지 확인
            printf("%d ", i+1); // potato 배열의 i번째 요소가 't'인 경우 해당 위치(i+1)를 출력
        }
    }
}
c

char형 배열 potato를 선언하고 사용자로부터 문자열을 입력받아 배열 potato에 저장해요.
0부터 10까지 반복하는 for 루프를 사용하여 potato 배열의 각 요소가 문자 ‘t’인지 확인하여 potato 배열의 i번째 요소가 ‘t’인 경우 해당 위치(i+1)를 출력하는 프로그램이에요.
1418

[Layer7] 2026년 4월 6일 C언어 과제
https://blog.imnya.ng/layer7/01
저자 imnyang
게시일 2026년 04월 06일