카테고리 없음

프로그래밍 기초와 연습 문제: 실습을 통한 이해

devgodmj 2024. 10. 21. 21:20

프로그래밍을 배우는 데 있어서 기초적인 문제 해결 능력은 매우 중요합니다. 이번 포스팅에서는 문제 해결 과정을 익히기 위한 몇 가지 예제를 소개하고, 단계별로 어떻게 문제를 해결할 수 있는지 설명하겠습니다.

1. 프로그래밍 문제 해결 과정

프로그래밍에서 문제를 해결하는 기본 과정은 다음과 같습니다:

  1. 문제 파악: 주어진 문제를 명확히 이해합니다. 어떤 입력을 받아서 어떤 출력을 내야 하는지를 정리합니다.
  2. 입력과 출력 변수 결정: 입력 데이터와 출력 데이터를 저장할 변수를 결정합니다.
  3. 문제 재정의: 문제에서 요구하는 것을 코드로 표현할 수 있도록 다시 정의합니다.
  4. 과정 세분화: 문제를 해결하기 위한 논리적인 과정을 세분화하여, 코드로 표현할 수 있도록 합니다.
  5. 코딩: 결정한 절차에 따라 프로그램을 작성합니다.

2. 프로그래밍 연습 문제

1) 난수를 발생하는 프로그램

0부터 100 사이의 난수를 생성하고 출력하는 프로그램을 작성합니다.

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

int main() {
    srand((unsigned int)time(NULL));  // 시드 설정
    int n = rand() % 101;             // 0~100 사이의 난수 생성
    printf("난수: %d\n", n);
    return 0;
}

 

2) 홀수와 짝수의 합 구하기

사용자로부터 n개의 양의 정수를 입력받아, 홀수와 짝수의 합을 구하는 프로그램을 작성합니다.

#include <stdio.h>

int main() {
    int n, num, oddsum = 0, evensum = 0;
    printf("정수의 개수: ");
    scanf("%d", &n);
    
    for (int i = 0; i < n; i++) {
        printf("정수를 입력하세요: ");
        scanf("%d", &num);
        if (num % 2 == 0) {
            evensum += num;
        } else {
            oddsum += num;
        }
    }
    
    printf("홀수의 합: %d\n", oddsum);
    printf("짝수의 합: %d\n", evensum);
    return 0;
}

 

3) 숫자 거꾸로 출력하기

양의 정수를 입력받아 끝자리부터 숫자를 출력하는 프로그램을 작성합니다.

#include <stdio.h>

int main() {
    int num;
    printf("양의 정수를 입력하세요: ");
    scanf("%d", &num);

    while (num > 0) {
        printf("%d", num % 10);  // 끝자리 출력
        num /= 10;               // 끝자리 제거
    }

    return 0;
}

 

4) 성적 평균과 최고점 구하기

학생들의 성적을 입력받아 평균과 최고점을 계산하는 프로그램을 작성합니다.

#include <stdio.h>

int main() {
    int n, score, sum = 0, max = 0;
    printf("학생 수를 입력하세요: ");
    scanf("%d", &n);
    
    for (int i = 0; i < n; i++) {
        printf("성적을 입력하세요: ");
        scanf("%d", &score);
        sum += score;
        if (score > max) {
            max = score;
        }
    }
    
    printf("평균: %.2f\n", (float)sum / n);
    printf("최고 성적: %d\n", max);
    return 0;
}

 

 

5) 양수의 수와 최대값 구하기

양수를 입력받고, 음수가 나올 때까지 입력된 양수의 수와 최대값을 구하는 프로그램을 작성합니다. 처음부터 음수가 입력되면 "No data!!"를 출력합니다.

 

#include <stdio.h>

int main() {
    int num, count = 0, max = -1;

    while (1) {
        printf("숫자를 입력하세요: ");
        scanf("%d", &num);
        if (num <= 0) break;  // 음수가 입력되면 반복 종료

        count++;
        if (num > max) max = num;
    }

    if (count == 0) {
        printf("No data!!\n");
    } else {
        printf("입력된 양수의 수: %d\n", count);
        printf("최대값: %d\n", max);
    }

    return 0;
}