Vấn đề
Cách lưu trữ dữ liệu của người chơi cricket ở dạng bảng theo thứ tự được sắp xếp dựa trên số lần chạy trung bình bằng cách sử dụng các cấu trúc trong ngôn ngữ Lập trình C.
Giải pháp
Hãy thử nhập thông tin về vận động viên cricket như tên, tuổi, không có trận đấu nào và số lần chạy trung bình mà anh ta ghi được. Nó sẽ được nhập vào bảng điều khiển trong thời gian chạy bằng cách sử dụng khái niệm cấu trúc.
Và cố gắng hiển thị thông tin dưới dạng bảng theo thứ tự được sắp xếp dựa trên số lần chạy trung bình mà mỗi người ghi được để có thể dễ dàng xác định thông tin chi tiết của từng người một cách rõ ràng.
Logic mà chúng tôi sử dụng để sắp xếp các vận động viên cricket theo thứ tự tăng dần dựa trên số lần chạy trung bình mà họ ghi được là -
for(i=0;i<2;i++){ for(j=i+1;j<2;j++){ if(c[i].avrn > c[j].avrn){ temp1=c[i]; c[i]=c[j]; c[j]=temp1; } } }
Chương trình
#include<stdio.h> #include<conio.h> #include<string.h> struct cricketer{ char name[50]; int age; int match; float avrn; char temp; }; struct cricketer c[20],temp1; void main() { int i,j; for(i=0;i<2;i++){ printf("Enter data of cricketer %d\n",i+1); //fflush(stdin); printf("Name: "); gets(c[i].name); printf("\nAge: "); scanf("%d",&c[i].age); printf("\nMatches: "); scanf("%d",&c[i].match); printf("\n\nAverage runs: "); scanf("%f",&c[i].avrn); scanf("%c",&c[i].temp); } /******************/ /* sorting records */ /*******************/ for(i=0;i<2;i++) { for(j=i+1;j<2;j++) { if(c[i].avrn > c[j].avrn){ temp1=c[i]; c[i]=c[j]; c[j]=temp1; } } } printf("Sorted records:\n"); for(i=0;i<2;i++){ printf("%d\t%s\t%d\t%d\t%f\n\n\n",i+1,c[i].name,c[i].age,c[i].match,c[i].avrn); } getch(); }
Đầu ra
Enter data of cricketer 1 Name: Dhoni Age: 39 Matches: 150 Average runs: 200 Enter data of cricketer 2 Name: virat Age: 36 Matches: 135 Average runs: 190 Sorted records: 1 virat 36 135 190.000000 2 Dhoni 39 150 200.000000