학생들의 몸무게에 따른 반별 평균 및 전체 평균 계산
추천 자료: ASP.NET Core 인증 및 권한 부여
다음 C 언어 프로그램은 학생들의 반, 번호, 몸무게를 입력 받아 반별 평균 및 전체 평균을 계산하고 출력합니다. 프로그램의 구조는 다음과 같습니다.
- 구조체를 설계하여 학생 정보를 저장합니다.
- 반, 번호, 몸무게를 입력 받아 구조체 배열에 저장합니다.
- 반별 평균과 전체 총점을 계산합니다.
- 각 반의 학생 정보, 반별 평균, 전체 평균을 출력합니다.
프로그램의 소스 코드는 다음과 같습니다.
#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
이 프로그램은 학생들의 몸무게를 입력 받아 각 반별 평균 몸무게와 전체 평균 몸무게를 계산해 출력하는데 사용할 수 있습니다. 이를 통해 교육자들은 학생들의 건강 상태를 확인하고 관리할 수 있습니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!