이 성적처리프로그램좀 알려주세요 ㅠㅠ
#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; //함수 초기화
}
//이곳에서 버블정렬을쓰면 평균만 정렬되는데 다른것들을 정렬시킬려면 어떻게 해야할까요 ㅠㅠ
고수님들 자문좀 구하겠습니다
ㅠㅠ
요새 어째 고만고만한 난이도의 프로그래밍 연습문제
요새 어째 고만고만한 난이도의 프로그래밍 연습문제 질문들이 자주 올라온다 싶어서 달력을 보니
역시나 대학 학기말이 다가오는군요.
소스코드 넣는 방법https://kldp.org
소스코드 넣는 방법
https://kldp.org/node/158191
세벌 https://sebuls.blogspot.kr/
해결했습니다
구조체한개를 더 선언해서 했습니다
댓글 달기