🏗️📚Intermediate
Store and Sort Student Records by Age or ID
Sort by numeric field
Store student records and sort them by ID or age (numeric field).
Program Code
struct_sort_age.c
C
1#include <stdio.h>23struct Student {4 int id;5 char name[50];6 int age;7};89int main() {10 struct Student students[] = {11 {105, "Eve", 22},12 {101, "Alice", 20},13 {103, "Charlie", 19},14 {102, "Bob", 21}15 };16 int n = 4;17 18 printf("Original order:\n");19 for (int i = 0; i < n; i++) {20 printf("ID: %d, Name: %-10s, Age: %d\n", 21 students[i].id, students[i].name, students[i].age);22 }23 24 // Sort by ID (ascending)25 for (int i = 0; i < n - 1; i++) {26 for (int j = 0; j < n - i - 1; j++) {27 if (students[j].id > students[j+1].id) {28 struct Student temp = students[j];29 students[j] = students[j + 1];30 students[j + 1] = temp;31 }32 }33 }34 35 printf("\nSorted by ID:\n");36 for (int i = 0; i < n; i++) {37 printf("ID: %d, Name: %-10s, Age: %d\n", 38 students[i].id, students[i].name, students[i].age);39 }40 41 // Sort by age (ascending)42 for (int i = 0; i < n - 1; i++) {43 for (int j = 0; j < n - i - 1; j++) {44 if (students[j].age > students[j+1].age) {45 struct Student temp = students[j];46 students[j] = students[j + 1];47 students[j + 1] = temp;48 }49 }50 }51 52 printf("\nSorted by age:\n");53 for (int i = 0; i < n; i++) {54 printf("ID: %d, Name: %-10s, Age: %d\n", 55 students[i].id, students[i].name, students[i].age);56 }57 58 return 0;59}Output
Original order:
ID: 105, Name: Eve , Age: 22
ID: 101, Name: Alice , Age: 20
ID: 103, Name: Charlie , Age: 19
ID: 102, Name: Bob , Age: 21
Sorted by ID:
ID: 101, Name: Alice , Age: 20
ID: 102, Name: Bob , Age: 21
ID: 103, Name: Charlie , Age: 19
ID: 105, Name: Eve , Age: 22
Sorted by age:
ID: 103, Name: Charlie , Age: 19
ID: 101, Name: Alice , Age: 20
ID: 102, Name: Bob , Age: 21
ID: 105, Name: Eve , Age: 22
Related Examples
Want to Learn More?
Explore our comprehensive tutorials for in-depth explanations of C programming concepts.
Browse Tutorials