구조체로 학생들 정보 입력되있는 상태서 정렬하기.
찬들
질문 제목 : 구조체 안에 학생들의 정보를 이미 주어진 상태서 그것을 오름차순으로 출력하기 (키, 이름, 번호)기준에 따라서.질문 내용 : #include stdio.h
#include string.h
struct student{
int number;
char name[10];
double height;
struct student *next;
}person;
void selsort(person *db);
void main(void){
struct person db[10];
struct student s1 = {db[1].number = 1, db[1].name = lee,db[1].height = 160.2, null };//student 구조체에 s1이란
struct student s2 = {db[2].number = 2, db[2].name = zzk,db[2].height = 172.1, null };
struct student s3 = {db[3].number = 3, db[3].name = park,db[3].height = 139.1, null };
struct student s4 = {db[4].number = 4, db[4].name = kim, db[4].height = 174.1, null };
struct student s5 = {db[5].number = 5, db[5].name = bbl,db[5].height = 190.1, null };
struct student s6 = {db[6].number = 6, db[6].name = kkkk,db[6].height = 120.1, null };
struct student s7 = {db[7].number = 7, db[7].name = eee,db[7].height = 160.1, null };
struct student s8 = {db[8].number = 8, db[8].name = wfd,db[8].height = 186.1, null };
struct student s9 = {db[9].number = 9, db[9].name = oeoz,db[9].height = 175.1, null };
struct student s10 = {db[10].number = 10, db[10].name = kang,db[10].height = 129.1, null };
struct student *first = null;
struct student *current = null;
first = &s1;
s1.next = &s2;
s2.next = &s3;
s3.next = &s4;
s4.next = &s5;
s5.next = &s6;
s6.next = &s7;
s7.next = &s8;
s8.next = &s9;
s9.next = &s10;
s10.next = null;
current = first;
selsort(db);
}
void selsort(person *db){ //번호순 정렬
int i,j,min;
person temp;
for(i=0; i9; i++){
min= i;
for( j= i+1; j10; j++)
if( db[min].number db[j].number) min= j;
if( min != i){
temp= db[i];
db[i]= db[min];
db[min]= temp;
}
}
for(i=0; i10; i++)
printf(%d %s\n, db[i].number, db[i].name);
}