詳解資料結構課程設計 運動會分數統計

2021-10-01 14:56:09 字數 3897 閱讀 8922

#include #include #include #include#include #define schnum 6 // school 個數

#define pronum 6// project 個數

#define n 3 //前n名

#define m 5 //前m名

void intzoom(int a, int b);

void screen();

void schoolman();

void schoolwomen();

void backup();

void integral(int intergalgrade[pronum]);

void bubble_sort();

void mao(int n);

void transition(int intergalgrade[pronum]);

void printf(int bb);

void first_rank();

void calibrate();

void ask_for(int k, int intergalgrade[pronum]);

void allgrade(int intergalgrade[pronum]);

typedef struct//每個學校派一名參加比賽

sch;//學校結構體 專案school

typedef struct

pro;//學校結構體 專案

sch school[schnum];

pro project[pronum];

void intzoom(int a,int b) //初始化結構體中的結構資料 }}

//顯示屏專案

void screen()

int main()

; //各個學校的積分成績的儲存

intzoom(schnum,pronum);

screen();

printf("請輸入以下資訊:\n");

calibrate();

printf("資訊錄入完成!\n");

printf("正在進行學校專案成績的錄入:\n");

for (int i = 0; i < schnum; i++)

bubble_sort();

transition(intergalgrade);

integral(intergalgrade);

backup();

mao(schnum);

rt: screen(); // goto語句製造再次迴圈

printf("請進行你的操作:\n");

int a = 0;

int b = 0;

int d = 0;

char c = '0';

int k1 = 0;

int k2 = 0;

scanf("%d", &a);

switch (a)

break;

case 3:

printf("正在進行操作:%d.\n", a);

printf("選擇小操作項:\n");

scanf("%d", &d);

switch (d)

break;

case 4:

printf("正在進行操作:%d.\n", a);

allgrade(intergalgrade);

break;

case 5:

printf("正在進行操作:%d.\n", a);

exit(0);

default:

printf("選擇操作錯誤!!!\n");

} printf("如果想繼續執行操作:enter,輸入其他的字元可結束操作。");

getchar();

scanf("%c", &c);

if (c == '\n')

else

return 0;

} //學校名字校準以及運動專案校準

void calibrate()

printf("正在進行運動專案編碼校準……\n");

for (int j = 0; j < pronum; j++)

else

scanf("%s", project[j].proname); }}

//男子專案的成績錄入

void schoolman()

printf("現在你正在進行學校:%s 編碼:%d:男子專案錄入\n",school[a].schname ,a);

for (int m = 0; m < (pronum/2); m++)

printf("錄入成功!\n"); }}

//女子專案的成績錄入

void schoolwomen()

printf("現在你正在進行學校:%s 編碼:%d:女子專案錄入\n", school[a].schname, a);

for (int m = (pronum/2); m < pronum; m++)

printf("錄入成功!\n"); }}

//氣泡排序法 排出成績的大小 排出初始資料的排名 進行連帶同步名次排名 讓高的分數先浮上來

void bubble_sort()

}} }

}//名次轉化成積分成績

void transition(int intergalgrade[pronum])

} }}//學校積分計算

void integral(int intergalgrade[pronum])

for (int c = 0; c < (pronum / 2); c++) // 男總積分

for (int d = (pronum / 2); d < pronum; d++) // 女總積分

}}//原資料備份

void backup() //backup

}

// 反向氣泡排序

void mao(int n)

if (school[j].cboygrade < school[j + 1].cboygrade)

if (school[j].cgirlgrade < school[j + 1].cgirlgrade)

} }}

//各個專案前五名輸出

void first_rank()

printf("第%d名,積分為%d分,學校:%s 編號為%d。\n",num,rankgrade ,school[school[i].rank[j]].schname,school[i].rank[j]);

num++;

} }}//每個學校各個專案的積分輸出

void printf(int bb)

printf("\n");

printf("男子專案總成績:\n");

for (int i = 0; i < schnum; i++)

printf("\n");

printf("女子專案總成績:\n");

for (int i = 0; i < schnum; i++)

break;

case 3:

for (int i = 0; i < schnum; i++)

break; }}

//查詢系統

void ask_for(int k,int intergalgrade[pronum])

}} }

else

}} }

}//全部顯示

void allgrade(int intergalgrade[pronum])

else

sleep(4000);

for (int n = 0; n < schnum; n++) }

fclose(fp);

}

運動會分數統計 資料結構課程設計

參加運動會有n個學校,學校編號為1 n。比賽分成m個男子專案,和w個女子專案。專案編號為男子1 m,女子m 1 m w。不同的專案取前五名或前三名積分 取前五名的積分分別為 7 5 3 2 1,前三名的積分分別為 5 3 2 哪些取前五名或前三名由學生自己設定。m 20,n 20 經過兩天的艱苦奮戰...

資料結構 運動會分數統計

include include include include using namespace std int n n個學校 int m m個男子專案 int w w個女子專案 struct pro 表示專案的結構體 p 21 struct school 表示學校的結構體 sch 21 int qi...

資料結構習題集之運動會分數統計

運動會分數統計 include include include typedef struct scorescore typedef struct matchmatch,event typedef struct recordrecord typedef struct schoolschool,scho...