C_C++
(C언어) 성적처리: 구조체 정렬
고니자니
2022. 11. 27. 21:35
반응형
#성적처리 #구조체 #정렬 #버블정렬 #struct #bubble #sort #버블소트
구조체 정렬 예제 (버블 정렬)
#include <stdio.h>
struct student {
int number;
char name[20];
double grade;
};
int main()
{
struct student temp;
struct student list[] = {
{ 1, "홍길동", 3.4},
{ 2, "이순신", 3.8},
{ 3, "오만원", 4.4},
{ 4, "이이", 2.5},
{ 5, "허난설현", 3.9} };
int i, size;
size = sizeof(list) / sizeof(list[0]);
// 성적순 정렬 (버블정렬)
for (int i = size - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (list[j].grade < list[j + 1].grade)
{
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
// 출력
for (i = 0; i < size; i++)
{
printf("%2d %-10s %.1f\n",
list[i].number, list[i].name, list[i].grade);
}
return 0;
}
(Output)
반응형