NAVER

질문 C언어 성적순 정렬 질문좀 할게요(내공)
youe**** 조회수 410 작성일2013.04.01
 예를들어

1번 60점
2번 100점 
3번 80점 

이라고 하면

성적순으로 정렬하면
100점
80점 
60점

이잖아요
여기까지는 할 수 있는데

2번 -100점
3번 -80점
1번 - 60점

이렇게 누가 몇점인지  같이 출력하려면 어떻게 해야 하나요?
프로필 사진

답변자님,

정보를 공유해 주세요.

1 개 답변
1번째 답변
프로필 사진
아임굳맨요
영웅
C, C++, 영어문법, 영어 독해, 읽기 분야에서 활동
본인 입력 포함 정보
 구조체로 하나 만들어서 하셔요 ㅎㅎ

#include <stdio.h>

struct student
{
int grade;
int stage;
};

int main()
{
int z = 0;
student k[3];
k[0].grade = 60;
k[0].stage = ++z;

k[1].grade = 100;
k[1].stage = ++z;

k[2].grade = 80;
k[2].stage = ++z;

int i = 0;int j = 0;
for(i = 0; i < 3; i++)
{
for(j = i; j<3; j++)
{
if(k[i].grade < k[j].grade)
{
student tmp = k[i];
k[i] = k[j];
k[j] = tmp;
}
}
}

for(i = 0; i< 3; i++)
printf("%d번-%d점\n", k[i].stage,k[i].grade);
printf("\n");
}

2013.04.01.

  • 채택

    질문자가 채택한 답변입니다.

도움이 되었다면 UP 눌러주세요!
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.