資料結構運動會分數統計實習報告原始碼
阿新 • • 發佈:2019-01-10
#include<cstdio> #include<cstring> int n,m,w; struct Student { char name[20]; int mingci; int score; }; struct Xiangmu { int bianhao; char xiangname[20]; Student students[50]; int xiangscore; }; struct School { char xiaoname[20]; int renshu; int Sumnamtuan; int Sumnvtuan; int sumtuan; int sumnanscore; int sumnvscore; Xiangmu SuoyouXiangmu[50]; }xuexiao[50]; void shuruchengji(int i) { int qumingcishu = ( (i&1)==1?5:3 ); printf("請輸入專案%d的資訊\n本專案統計前%d名成績\n",i,qumingcishu); printf("按名次順序輸入運動員姓名,校名(數字編號),成績,\n"); char sss[20];int xiaohao,defen; int j=1; for(;j<=qumingcishu;j++){ scanf("%s%d%d",sss,&xiaohao,&defen); xuexiao[xiaohao].SuoyouXiangmu[i].students[j].mingci=j; strcpy(xuexiao[xiaohao].SuoyouXiangmu[i].students[j].name,sss); xuexiao[xiaohao].SuoyouXiangmu[i].students[j].score=defen; } } void shuchuxiangchengjidan(int k) { printf("%d校的成績單\n",k); for(int i=1;i<=m+w;i++){ printf("專案%d的成績單為\n",i); for(int j=1;j<=5;j++){ if(xuexiao[k].SuoyouXiangmu[i].students[j].mingci!=0){ printf("名次%d名字%s得分%d\n", xuexiao[k].SuoyouXiangmu[i].students[j].mingci, xuexiao[k].SuoyouXiangmu[i].students[j].name, xuexiao[k].SuoyouXiangmu[i].students[j].score); if(i<=m){ xuexiao[k].Sumnamtuan+=xuexiao[k].SuoyouXiangmu[i].students[j].score; } else xuexiao[k].Sumnvtuan+=xuexiao[k].SuoyouXiangmu[i].students[j].score; } } } } void shuchutuantibiao(int k) { printf("\n\n%d校團體總分報表\n",k); printf("男團%d\n",xuexiao[k].Sumnamtuan); printf("女團%d\n",xuexiao[k].Sumnvtuan); printf("總團%d\n",xuexiao[k].Sumnvtuan+xuexiao[k].Sumnamtuan); } int main() { int nanzirenshu,nvzirenshu; printf("輸入n\n");scanf("%d",&n); printf("輸入m\n");scanf("%d",&m); printf("輸入w\n");scanf("%d",&w); for(int i=1;i<=m+w;i++) shuruchengji(i); for(int i=1;i<=n;i++) shuchuxiangchengjidan(i); for(int i=1;i<=n;i++) shuchutuantibiao(i); return 0; }