반응형
#성적처리 #구조체 #정렬 #버블정렬 #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)
반응형
'C_C++' 카테고리의 다른 글
(C언어) mystrcmp: 문자열 비교 함수 만들기 (0) | 2022.11.28 |
---|---|
(C언어) sscanf: 문자열에서 형식이 지정된 데이터를 읽는다 (0) | 2022.11.28 |
(C++) bool 변수의 값을 "true", "false"로 출력하기 (0) | 2022.11.26 |
(C언어) sprintf() 함수 (0) | 2022.11.25 |
(C언어) 성적 데이터 파일 읽기 fscanf, fscanf_s (0) | 2022.11.23 |