用 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

更新于: 05-Mar-2021

7K+ 次浏览

开启你的 事业

通过完成课程获得认证

开始使用
广告