用 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+ 次瀏覽

開啟你的 事業

透過完成課程獲得認證

開始使用
廣告
© . All rights reserved.