-
백준 5800번 : 성적 통계 (C 언어)c c++ 언어 공부 2023. 8. 26. 15:01
https://www.acmicpc.net/problem/5800
5800번: 성적 통계
첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다. 시험 성적은 0보다 크거나 같고, 100보다
www.acmicpc.net
Code:
123456789101112131415161718192021222324252627282930313233343536373839#include <stdio.h>#include <stdlib.h>int compare(const void* a, const void* b){if (*(int*)a > *(int*)b)return -1;else if (*(int*)a < *(int*)b)return 1;else return 0;}int main() {int k = 0;int n = 0;scanf("%d", &k);for (int i = 1; i <= k; i++){int arr[101] = { 0, };int max = 0;int min = 0;int gap = 0;scanf("%d", &n);for (int j = 0; j < n; j++){scanf("%d", &arr[j]);}qsort(arr, n, sizeof(int), compare);for (int j = 0; j < n-1; j++){if (gap < arr[j] - arr[j + 1]){gap = arr[j] - arr[j + 1];}}max = arr[0];min = arr[n - 1];printf("Class %d\n", i);printf("Max %d, Min %d, Largest gap %d\n", max, min, gap);}}cs 문제 설명
주어진 문제는 여러 개의 학급의 수학 시험 성적을 분석하는 프로그램을 작성하는 것입니다. 각 학급별로 최대 점수, 최소 점수, 그리고 인접한 두 학생의 점수 차이 중 가장 큰 값을 구해야 합니다.
코드 설명
아래는 주어진 문제를 해결하기 위한 C 프로그램 코드입니다.
코드 설명:
- compare 함수는 qsort 함수에서 사용될 비교 함수로, 정수를 내림차순으로 정렬하기 위해 사용됩니다.
- main 함수는 프로그램의 진입점입니다. 먼저, 반의 수 k를 입력으로 받습니다.
- 반복문을 통해 각 반의 학생 수와 성적을 입력 받습니다.
- 배열 arr을 사용하여 성적을 저장하고, qsort 함수를 사용하여 내림차순으로 정렬합니다.
- 반복문을 사용하여 인접한 학생의 점수 차이를 계산하고, 최대 점수와 최소 점수를 찾습니다.
- 각 반에 대한 결과를 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 15624번 : 피보나치 수 7(C 언어) (0) 2023.08.28 백준 16212번 : 정열적인 정렬 (C 언어) (0) 2023.08.28 백준 11931번 : 수 정렬하기 4(C 언어) (0) 2023.08.26 백준 1439번 : 뒤집기 (C 언어) (0) 2023.08.24 백준 2485번 : 가로수 (C 언어) (0) 2023.08.24