이 성적처리프로그램좀 알려주세요 ㅠㅠ

익명 사용자의 이미지

#define _CRT_SECURE_NO_WARNINGS
#include

struct student //구조체 student를 선언
{
char name[20]; //문자열 크기 20짜리 변수 선언
int age; //나이를 넣어줄 변수
int korea_score; //국어 성적을 넣어줄 변수
int math_score; //수학 성적을 넣어줄 변수
int english_score; //영어 성적을 넣어줄 변수
int sum; //평균을 구할때 사용할 합계를 선언
int average; //평균을 위한 변수
};

int main() //메인 함수
{
struct student arr[5]; //arr5개 배열
int i, j, temp; //i, j, temp선언
char nm[20];
for (i = 0; i < 5; i++)//5번 반복하는 for문
{
printf("이름 입력 : \n"); scanf("%s", &arr[i].name); //이름 입력 받아 저장
printf("나이 입력 : \n"); scanf("%d", &arr[i].age); //나이를 입력 받아 저장
printf("국어 점수 입력 : \n"); scanf("%d", &arr[i].korea_score); //국어 점수 입력 받아 저장
printf("수학 점수 입력 : \n"); scanf("%d", &arr[i].math_score); //수학 점수 입력 받아 저장
printf("영어 점수 입력 : \n"); scanf("%d", &arr[i].english_score); //영어 점수 입력 받아 저장
}
for (i = 0; i < 5; i++) //5번 반복하는 for문 입력받은 값들을 출력하기 위해서
{
arr[i].sum = arr[i].korea_score + arr[i].math_score + arr[i].english_score; //각 학생들의 총점
arr[i].average = arr[i].sum / 3; //평균을 구함

printf("---- %d번째 학생 정보 입력 ---- \n", i + 1); //입력받은 학생 순서
printf("이름 : %s \n", arr[i].name); //이름 출력
printf("나이 : %d \n", arr[i].age); //나이 출력
printf("국어 점수 : %d \n", arr[i].korea_score); //국어 점수 출력
printf("수학 점수 : %d \n", arr[i].math_score); //수학 점수 출력
printf("영어 점수 : %d \n", arr[i].english_score); //영어 점수 출력
}
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
{
if (arr[j].average < arr[j + 1].average) //평균 점수 대로 바꿔 주기 위한 버블정렬
{
temp = arr[j].average;
arr[j].average = arr[j + 1].average;
arr[j + 1].average = temp;
}
}
}
for (i = 0; i < 5; i++) //5번 반복하는 for문
{
printf("---- %d등 학생 정보 ----\n", i + 1); //학생 등수 출력
printf("이름 : %s 평균 : %d \n", arr[i].name, arr[i].average); //학생의 이름과 평균을 출력
}
return 0; //함수 초기화
}

//이곳에서 버블정렬을쓰면 평균만 정렬되는데 다른것들을 정렬시킬려면 어떻게 해야할까요 ㅠㅠ

k programmer의 이미지

ㅠㅠ

익명 사용자의 이미지

요새 어째 고만고만한 난이도의 프로그래밍 연습문제 질문들이 자주 올라온다 싶어서 달력을 보니

역시나 대학 학기말이 다가오는군요.

세벌의 이미지

k programmer의 이미지

구조체한개를 더 선언해서 했습니다