資源簡介
運動會分數統計 C語言版數據結構課設 可以直接運行程序
代碼片段和文件信息
#include?
#include?
#include?
#define?n0?20??????????/*學校最大數目*/
#define?m0?20??????????/*男子項目最大數目*/
#define?w0?20??????????/*女子項目最大數目*/
typedef?struct?itemnode
{
int?item[m0+w0+5][n0+1];
//item[1][0]-item[m0+w0][0]??存放項目編號
//item[0][1]-item[0][n]??存放學校編號
//item[1][]-item[m0][]??存放男子各項目成績
//item[m0+1][]-item[m0+w0][]存放女子各項目成績
//item[m0+w0+1][]存放男子各項目總成績
//item[m0+w0+2][]存放女子各項目總成績
//item[m0+w0+3][]存放學校各項目總成績
//item[m0+w0+4][]存放學校按總分排序的名次
}itemnode;?????????????/*存放信息*/
int?main()
{
????int?nmw;
????printf(“??????????????北京信息科技大學運動會分數統計系統????????????\n“);
????printf(“\t\t\t歡迎使用\t\t\t\t\n\n“);
????printf(“該系統實現的功能有:\n“);
????printf(“??????????????1.可以輸入各個項目的前三名或前五名的成績;\n“);
????printf(“??????????????2.能統計各學校總分;\n“);
????printf(“??????????????3.可以按學校編號、學校總分、男女團體總分排序輸出;\n“);
????printf(“??????????????4.可以按學校編號查詢取得前三或者前五名的學校。\n“);
????printf(“實現功能2、3、4的前提是先錄入信息!\n“);
printf(“請先輸入運動會主要信息\n“);?????????????????/*設計運動會主要數據個數*/
????printf(“輸入學校個數:“);
scanf(“%d“&n);
printf(“輸入男子項目個數:“);
????scanf(“%d“&m);
printf(“輸入女子項目個數:“);
????scanf(“%d“&w);
????int?c;
????int?ij;
????struct?itemnode?a;
????for(i=1;i {
????printf(“請輸入第%d個學校編號:“i);
????scanf(“%d“&a.item[0][i]);
????printf(“\n“);
}
for(j=1;j {
????printf(“請輸入第%d個男子項目編號:“j);
????????scanf(“%d“&a.item[j][0]);
????????printf(“\n“);
????}
????for(j=m+1;j ????{
????????printf(“請輸入第%d個女子項目編號:“j-m);
????????scanf(“%d“&a.item[j][0]);
????????printf(“\n“);
????}
????for(i=1;i ????{
????????for(j=1;j ????????{
????????????printf(“請輸入第%d個學校第%d個男子項目成績:“ij);
????????????scanf(“%d“&a.item[j][i]);
????????????printf(“\n“);
????????}
????????for(j=m+1;j ????????{
????????????printf(“請輸入第%d個學校第%d個女子項目成績:“ij-m);
????????????scanf(“%d“&a.item[j][i]);
????????????printf(“\n“);
????????}
????}
????for(i=1;i ????{
????????a.item[m+w+1][i]=0;
????????a.item[m+w+2][i]=0;
????????a.item[m+w+3][i]=0;
????????a.item[m+w+4][i]=0;
????}
????//下面計算各學校、各學校男子、女子項目總分
???for(i=1;i ????{
????????for(j=1;j ????????{
????????????a.item[m+w+3][i]+=a.item[j][i];//學校項目總分
????????}
????}
????for(i=1;i ????{
????????for(j=1;j ????????{
????????????a.item[m+w+1][i]+=a.item[j][i];//男子項目總分
????????}
????}
????for(i=1;i ????{
????????for(j=m+1;j ????????{
????????????a.item[m+w+2][i]+=a.item[j][i];//女子項目總分
????????}
????}
????printf(“****************************************排序輸出*************************************\n“);
????//插入排序啦??很簡單的
????int?temptemp1;
????int?xu;
????for(i=2;i ????{
????????temp=a.item[m+w+3][i];
????????for(j=i-1;j>=1&&temp>a.item[m+w+3][j];j--)//尋找插入位置
????????{
????????????a.item[m+w+3][j+1]=a.item[m+w+3][j];//交換總分列
????????????for(xu=0;xu ????????????{
????????????????if(xu!=m+w+3)//除了總
評論
共有 條評論