상세 컨텐츠

본문 제목

C언어 복습 문제 풀기 -2

C

by hyunjunstar 2026. 3. 4. 22:54

본문

🟢 9단계 : while문

✅ 문제 12

1부터 5까지 출력하시오.

출력:

 
1
2
3
4
5
 

정답

// Main.c

#include <stdio.h>

int main(void)
{
    int i = 1;
    
    while (i <= 5) 
    {
        printf("%d\n", i);
        
        i++;
    }
    return 0;
}

✅ 문제 13

1부터 입력받은 숫자까지 합을 구하시오.

입력:

 
5
 

출력:

 
합: 15
 
정답
// Main.c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int n = 1;
    int i = 1;
    int sum = 0;

    scanf("%d", &n);

    while (i <= n) 
    {
        sum += i;
        i++;
    }
    
    printf("합: %d\n", sum);
    
    return 0;
}
 

🟢 10단계 : for문

✅ 문제 14

1~10까지 짝수만 출력하시오.

 

정답

// Main.c


#include <stdio.h>

int main(void)
{
    int i;

    for (i = 2; i <= 10; i += 2)
    {
        printf("%d\n", i);
    }

    return 0;
}

🟢 11단계 : 이중 반복문

✅ 문제 15

다음과 같이 출력하시오.

 
*
**
***
****
*****
 
정답
// Main.c


#include <stdio.h>

int main(void)
{
    int i;
    int j;

    for (i = 1; i <= 5; i++) 
    {
        for (j = 1; j <= i; j++)
        {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}
 
 

✅ 문제 16

for 문을 이용하여 구구단 2단을 출력하시오.

 

정답

// Main.c


#include <stdio.h>

int main(void)
{
    int i;

    for (i = 1; i <= 9; i++)
    {
        printf("2 x %d = %d\n", i, 2 * i);
    }

    return 0;
}

🟢 12단계 : 배열

✅ 문제 17

정수 5개를 배열에 저장하고 모두 출력하시오.

 

정답

// Main.c


#include <stdio.h>

int main(void)
{
    int Array[5] = { 1,2,3,4,5 };
    int i;

    for (i = 0; i < 5; i++)
    {
        printf("%d ", Array[i]);
    }
    
    return 0;
}

✅ 문제 18

5개의 정수를 입력받아
가장 큰 수를 출력하시오.

 

정답

// Main.c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int Array[5];
    int max;
    int i;
    for (i = 0; i < 5; i++)
    {
        scanf("%d", &Array[i]);
    }

    max = Array[0];

    for (i = 1; i < 5; i++)
    {
        if (Array[i] > max) max = Array[i];
    }

    printf("최댓값: %d\n", max);

    return 0;
}

🟢 13단계 : 함수 작성

✅ 문제 19

두 정수를 받아 더하는 함수 작성하시오.

 
int Add(int a, int b);
 

main에서 호출해서 출력하시오.

 

정답

// Main.c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int Add(int a, int b) 
{
    return a + b;
}

int main(void)
{
    int x;
    int y;

    scanf("%d %d", &x, &y);
    
    printf("%d\n", Add(x, y));
    
    return 0;
}

✅ 문제 20

정수를 받아 제곱을 반환하는 함수 작성하시오.

 

정답

// Main.c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int Square(int n) 
{
    return n * n;
}

int main(void)
{
    int n;

    scanf("%d", &n);

    printf("%d\n", Square(n));


    return 0;
}

🟢 14단계 : 포인터

✅ 문제 21

정수 변수 만들고
포인터로 그 값을 출력하시오.

 

정답

// Main.c


#include <stdio.h>

int main(void)
{
    int x = 10;

    int* p = &x;

    printf("%d\n", *p);

    return 0;
}

✅ 문제 22

포인터를 이용해 변수 값을 100으로 변경하시오.

 

정답

// Main.c


#include <stdio.h>

int main(void)
{
    int x = 10;

    int* p = &x;

    *p = 100;

    printf("%d\n", x);

    return 0;
}

🟢 15단계 : 주소 연산자 & 역참조 연산자

✅ 문제 23

변수 주소 출력하시오.

 

정답

// Main.c


#include <stdio.h>

int main(void)
{
    int x = 10;

    printf("%p\n", (void*)&x);

    return 0;
}

✅ 문제 24 (중요 ⭐)

Swap 함수 만들어라.

 
void Swap(int* a, int* b);
 

두 변수 값을 서로 바꾸시오.

 

정답

// Main.c


#include <stdio.h>

void Swap(int* a, int* b) 
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main(void)
{
    int x = 10;
    int y = 20;

    Swap(&x, &y);

    printf("x=%d y=%d\n", x, y);

    return 0;
}

 

'C' 카테고리의 다른 글

C언어 복습 문제 풀기 -1  (0) 2026.03.03
C언어 기초 코드  (0) 2026.03.03

관련글 더보기