오름차순을 내림차순으로 바꾸기!!!!!
너의길
질문 제목 : 오름차순을 내림차순으로 바꾸기오름차순을 내림차순으로 바꿔야 하는데 어느 부분을 바꿔야 할까요?질문 내용 :
소스코드
#include stdio.h
#define max_student 3
void qsort(struct student std[], int n);
void swap(struct student *x, struct student *y);
struct student {
char name[20];
int korean, english, math;
double average;
};
void print(struct student *std)
{
printf(%10s %3d %3d %3d %6.2f\n,
std-name, std-korean, std-english, std-math, std-average);
}
int main(void)
{
struct student std[max_student];
int i;
printf(%d 명의 학생 정보를 입력하세요.\n, max_student);
for(i = 0 ; i max_student ; i++)
{
printf(이름 : );
scanf(%s, std[i].name);
printf(국어, 영어, 수학 점수 : );
scanf(%d %d %d, &std[i].korean,
&std[i].english, &std[i].math);
std[i].average = (double)
(std[i].korean + std[i].english + std[i].math) / 3;
}
qsort(std, max_student);
for(i = 0 ; i max_student ; i++)
print(std+i);
return 0;
}
void qsort(struct student std[], int n)
{
if( n = 1 )
return;
else
{
int left = 0, right = n;
double key = std[0].average;
while(1)
{
while(std[++left].average key);
while(std[--right].average key);
if( left = right )
break;
swap(std+left, std+right);
}
swap(std, std+right);
qsort(std, right);
qsort(std+right+1, n-right-1);
}
}
void swap(struct student *x, struct student *y)
{
struct student temp = *x;
*x = *y;
*y = temp;
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2697465 | 수다님...^^ (2) | 가론 | 2025-06-08 |
2697432 | 서버 만드는 함수에서 궁금한게있어요~ | 파랑 | 2025-06-07 |
2697401 | 열혈강의 문제오류 (1) | 꿈 | 2025-06-07 |
2697374 | 기초적인 C언어 프로그래밍 입니다. | 얼 | 2025-06-07 |
2697341 | 좌우대칭 문제인데 Q가 입력되면 종료가 되야하는데 되지않습니다 | 무지개 | 2025-06-07 |
2697314 | fprintf와 fscanf 로 파일 입출력 할떄 | 밝음이 | 2025-06-06 |
2697293 | 툴 소스 뽑아내는법 | 도움 | 2025-06-06 |
2697264 | 소소한거 두어가지 질문할께요~ (8) | 별솔 | 2025-06-06 |
2697235 | scanf로 인풋 받을 때?! | 보담 | 2025-06-06 |
2697207 | 열혈강의 연습문제 질문이요~ (2) | 맥적다 | 2025-06-05 |
2697182 | strcmp, strtok - 어떤 기능을 하는지... | 루다 | 2025-06-05 |
2697129 | [질문] 아래 저축액을 계산하는 프로그램 ㅠ 추가 질문 (7) | 찬늘 | 2025-06-05 |
2697072 | 쌩초보 질문! (1) | 얀 | 2025-06-04 |
2697050 | 도움부탁드립니다.. | 화이트 | 2025-06-04 |
2697023 | gotoxy함수, 어떻게 사용하죠? (3) | 적송 | 2025-06-04 |
2696994 | c언어를 막 시작한 초보인데 질문이 있어용 ㅠㅠ (2) | 귀1여운렩 | 2025-06-03 |
2696944 | 윈도우 콘솔프로그램 질문드립니다 (2) | 꽃님이 | 2025-06-03 |
2696882 | c언어 입력받기 질문 입니다 (2) | 흰추위 | 2025-06-02 |
2696853 | 문자열은 정적메모리에 할당된다고 하는데 정적메모리가 뭡니까?? (6) | 다온 | 2025-06-02 |
2696799 | c c++언어입문전에 파이톤이나 자바스크립트배워두면.. (2) | 앨런 | 2025-06-02 |