用 C 语言编写一个程序,使用结构按照表格形式记录板球运动员的信息
问题
如何使用 C 编程语言中的结构,存储以平均得分排序的表格形式的板球运动员数据
解决方案
我们尝试输入板球运动员的信息,如姓名、年龄、比赛场数和平均得分。在运行时,将使用结构概念在控制台中输入信息。
并尝试按照每个人平均得分以表格形式按升序排列显示信息,以便于清晰地识别每个人的详细信息。
我们用来按照平均得分对板球运动员进行升序排列的逻辑为 -
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; } } }
程序
#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
",i+1); //fflush(stdin); printf("Name: "); gets(c[i].name); printf("
Age: "); scanf("%d",&c[i].age); printf("
Matches: "); scanf("%d",&c[i].match); printf("
Average 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:
"); for(i=0;i<2;i++){ printf("%d\t%s\t%d\t%d\t%f
",i+1,c[i].name,c[i].age,c[i].match,c[i].avrn); } getch(); }
输出
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
广告