#include <stdio.h>
int main(void)
{
int a, b, set,temp;
int stu[][2] = { 0 };
printf("학생수를 입력하시오 :");
scanf_s("%d", &a);
for (b = 0; b < a; b++)
{
printf("학번을 입력하시오 : ");
scanf_s("%d", &stu[b][0]);
printf("점수를 입력하시오 : ");
scanf_s("%d", &stu[b][1]);
printf("\n");
}
for (b = 0; b<a; b++)
printf("%d %d\n", stu[b][0], stu[b][1]);
printf("\n");
printf("\n");
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
if (stu[i][1] > stu[j][1])
{
temp = stu[j][1];
set = stu[j][0];
stu[j][1] = stu[j][1];
stu[j][0] = stu[j][0];
stu[j][1] = temp;
stu[j][0] = set;
}
}
}
for(b=0;b<a;b++)
printf("%d %d\n", stu[b][0],stu[b][1]);
return 0;
}
학생번호+성적을 내서 리스트를 뽑는 소스를 짤려고 하는데 (정렬방식으로 했는데..)
디버깅오류하고 2번째 for문으로 출력된 배열값과
4번쨰 for문으로 출력된 배열값이 일치하지 않고 순서도 뒤죽박죽이여서.. 좀 어떤식으로 수정해야할지 고민입니다.
stu[][0]번지에는 학번, stu[][1] 점수입니다.
어떤식으로 수정해야지.. 오름차순이든 내림차순이든 성적순으로 될수 있을까여..
p.s malloc함수도 있다고하는데.. 이건 하는방법을 몰라서 그럽니다..
어떤식으로 되는지 설명좀 해주시면 감사합니다..