資源簡介
參加運動會有n個學校,學校編號為1……n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1~m,女子m+1~m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些項目取前五名或前三名由學生自己設定。(m<=20,n<=20)
功能要求:
1) 可以輸入各個項目的前三名或前五名的成績;
2) 能統計各學校總分;
3) 可以按學校編號、學校總分、男女團體總分排序輸出;
4) 可以按學校編號查詢學校某個項目的情況;
5) 可以按項目編號查詢取得前三或前五名的學校。

代碼片段和文件信息
#define?M??20
#include???
#include?“stdio.h“
#include?“string.h“
#include?“stdlib.h“
int?mmmw;
struct?scorelist?
{?
???int?score;
???char?schoolnum[5];
???int?itemnum[5];
};
???struct?School
{
???char?schoolnum[5];
???struct?scorelist?list[M];
???int?teamscore;
???int?mscore;
???int?gscore;
};
struct?School?school[M];
main()
{
????FILE?*f;
????int?ij;
????f=fopen(“score.dat““r“);
????for(i=1;i<=3;i++)
????{
???????if(i==1)?fscanf(f“%d“&mm);
???????if(i==2)?fscanf(f“%d“&m);
???????if(i==3)?fscanf(f“%d“&w);
????}
????for(i=1;i<=mm;i++)
????{
???????fscanf(f“%s“school[i].schoolnum);
???????for(j=1;j<=2*(w+m);j++)
???????{
??????????if(j<=w+m)
??????????fscanf(f“%s“school[i].list[j].itemnum?);
??????????else
??????????fscanf(f“%d“&school[i].list[j-w-m].score?);
???????}
????}
????fclose(f);
????printf(“%4d%4d%4d\n“mmmw);
????for(i=1;i<=mm;i++)
????{
???????printf(“%s???“school[i].schoolnum);
???????for(j=1;j<=w+m;j++)
??????????printf(“%s???“school[i].list[j].itemnum);
???????for(j=1;j<=w+m;j++)
??????????printf(“%d???“school[i].list[j].score);
???????printf(“\n“);
????}
}??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1174??2009-01-06?20:38??數據結構課程設計\123.cpp
?????文件?????172089??2009-01-06?20:38??數據結構課程設計\123.exe
?????文件???????4573??2009-01-06?20:38??數據結構課程設計\123.obj
?????文件????????239??2009-01-06?14:37??數據結構課程設計\score.dat
?????文件??????????3??2009-01-06?20:38??數據結構課程設計\tctemp.dat
?????文件?????172089??2009-01-06?20:38??數據結構課程設計\tempfile.exe
?????目錄??????????0??2009-01-06?20:30??數據結構課程設計
-----------?---------??----------?-----??----
???????????????350167????????????????????7
評論
共有 條評論