학생들의 몸무게에 따른 반별 평균 및 전체 평균 계산

  • 2 minutes to read

다음 C 언어 프로그램은 학생들의 반, 번호, 몸무게를 입력 받아 반별 평균 및 전체 평균을 계산하고 출력합니다. 프로그램의 구조는 다음과 같습니다.

  1. 구조체를 설계하여 학생 정보를 저장합니다.
  2. 반, 번호, 몸무게를 입력 받아 구조체 배열에 저장합니다.
  3. 반별 평균과 전체 총점을 계산합니다.
  4. 각 반의 학생 정보, 반별 평균, 전체 평균을 출력합니다.

프로그램의 소스 코드는 다음과 같습니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

#define N 4

// [0] 구조체 설계
struct Record {
    int Class;      // 반
    int Num;        // 번호
    float Weight;   // 몸무게
};

int main(void) {
    // [1] Init
    int i = 0;           // 루프
    int count = 0;        // 카운트 체크
    int classNum = 1;     // 1~9반 처리
    float avg = 0;        // 반총점/반평균
    int tot = 0;          // 전체총점
    float avgTotal = 0;   // 전체평균
    struct Record objRecord[N]; // 구조체
    // [2] Input
    for (i = 0; i < N; i++) {
        printf("반 : _\b");
        scanf("%d", &objRecord[i].Class);
        printf("번호 : _\b");
        scanf("%d", &objRecord[i].Num);
        printf("몸무게 : _\b");
        scanf("%f", &objRecord[i].Weight);
    }
    // [3] Process
    for (i = 0; i < N; i++) {
        // [i] 반별 평균 : 1~9반
        // [ii] 전체 총점
        tot += objRecord[i].Weight;
    }
    // [iii] 전체 평균
    avgTotal = tot / N;
    printf("\n");
    // [4] Output
    printf("반 번호 몸무게\n");
    for (classNum = 1; classNum <= 9; classNum++) {
        for (i = 0; i < N; i++) {
            if (objRecord[i].Class == classNum) {
                printf("%d %d %.1f\n"
                    , objRecord[i].Class
                    , objRecord[i].Num
                    , objRecord[i].Weight
                );
                avg += objRecord[i].Weight;
                count++;
            }
        }
        for (i = 0; i < N; i++) {
            if (objRecord[i].Class == classNum) {
                printf("%d반 평균 : %.1f\n"
                    , classNum, (avg / count));
                break;
            }
        }
        avg = 0;
        count = 0;
    }
    // [!] 전체평균
    printf("전체평균 : %.1f\n", avgTotal);

    return 0;
}

예시 실행결과는 다음과 같습니다.

반 : 1
번호 : 1
몸무게 : 100
반 : 1
번호 : 2
몸무게 : 70
반 : 2
번호 : 1
몸무게 : 75
반 : 2
번호 : 2
몸무게 : 60

반 번호 몸무게
1 1 100.0
1 2 70.0
1반 평균 : 85.0
2 1 75.0
2 2 60.0
2반 평균 : 67.5
전체평균 : 76.0

이 프로그램은 학생들의 몸무게를 입력 받아 각 반별 평균 몸무게와 전체 평균 몸무게를 계산해 출력하는데 사용할 수 있습니다. 이를 통해 교육자들은 학생들의 건강 상태를 확인하고 관리할 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com