2022年运动会分数统计 .pdf
#include #include #include #include int a,b,c,d,i,j; struct node int num; ; struct node *f22; void exit0() FILE *fp; int k; alp:if(fp=fopen(sore.txt,w)=NULL) printf( 创建文件失败n); printf( 1*重试 n); printf( 2*强制退出 (数据将不会保存到文件)n); printf( 3*回到主菜单 n); alj: scanf(%d,&k); if(k=1) goto alp; else if(k=2) exit(0); else if(k=3) return; else printf( 输入错误 ,请重新输入 :); goto alj; fprintf(fp,nn); fprintf(fp, 运动会分数统计表nnn); fprintf(fp, 项目代号 ); for(i=1;i=c+d;i+) fprintf(fp,%5d,i); fprintf(fp, ); fprintf(fp,n 学校代号 n); for(i=1;i=a;i+) fprintf(fp,%10d,i); for(b=1;bc+d|ab1) printf(n 此项目代号不存在,重新输入 n); goto ale; ae=0; for(i=0;i=a;i+) if(fiab.num!=0) ae=1; break; if(ae=1) al2: printf(n 此项目成绩曾经已被录入过,是否要重新录入(您输入的项目代号可能有误,强烈建议您查证后再录入):n); printf( 1+ 重新录入 (若重新录入 ,以前的该项目成绩将被删除)n); printf( 2+ 不要,待查证后再录入nn); scanf(%d,&af); if(af=2) printf( 您已取消录入!n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - return; else if(af=1) for(i=1;i=a;i+) if(fiab.num!=0) fi0.num=fi0.num-fiab.num; if(ab=c) fic+d+1.num=fic+d+1.num-fiab.num; else fic+d+2.num=fic+d+2.num-fiab.num; fiab.num=0; else goto al2; al: printf(n 此项目是以前几名为胜出者:nn); printf( 3-以前三名 n); printf( 5-以前五名 nn); scanf(%d,&ac); if(ac=3) printf(n 请依次输入获胜学校代号:); af=5; for(i=0;ia|ae1) printf(%d 学校代号不存在,重新输入第 %d 名的学校代号n,ae,g); goto alq; for(b=0;b5;b+) if(ae=getb) printf( 同一个学校不能在同一项目中有两个名次,请重新输入第 %d 名的学校代号 !n,g); goto alq; else getb=ae; fae0.num=fae0.num+af; faeab.num=af; if(ab3) af=af-2; else af-; g+; else if(ac=5) printf( 请依次输入获胜学校代号:); af=7; for(i=0;ia|ae1) printf(%d 学校代号不存在,重新输入第 %d 名的学校代号n,ae,g); goto alw; for(b=0;b5;b+) if(ae=getb) printf( 同一个学校不能在同一项目中有两个名次,请重新输入第 %d 名的学校代号 !n,g); goto alw; else getb=ae; fae0.num=fae0.num+af; faeab.num=af; if(ab3) af=af-2; else af-; g+; else goto al; printf(n 输入完成 !n); void each() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - printf(n 对应的格式为 :n 学校代号 :团体总成绩 nn ); for(i=1;i=a;i+) printf(%2d:%3d ,i,fi0.num); if(i%3=0) printf(n ); void biaohao() printf(n 项目代号); for(i=1;i9) printf(%4d ,i); else printf(%5d ,i); printf(n); printf( 学校代号n); for(i=1;i=a;i+) printf( %d ,i); for(b=1;b9) printf(%4d,fib.num); else printf(%5d,fib.num); printf(n); void zongfen() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(n 按学校编号排序输出nn); printf( 学校代号总分nn); for(i=1;i=a;i+) dei.ke=i; dei.num=fi0.num; for(i=1;i=a;i+) for(b=i;bdei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i=a;i+) printf(%13d%8dn,dei.ke,dei.num); void nanzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(n 按男子团体总分排序输出nn); printf( 学校代号男子团体总分 nn); for(i=1;i=a;i+) dei.ke=i; dei.num=fic+d+1.num; for(i=1;i=a;i+) for(b=i;bdei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i=a;i+) printf(%13d%12dn,dei.ke,dei.num); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - void nvzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf( 按女子团体总分排序输出nn); printf( 学校代号女子团体总分 nn); for(i=1;i=a;i+) dei.ke=i; dei.num=fic+d+2.num; for(i=1;i=a;i+) for(b=i;bdei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;ia|drc+d|dtc+d|ge1) printf( 没有此项目代号,重新输入 n); goto all; for(i=1;i=a;i+) if(fbge.num=2) sedy=1; if(sedy=0) printf( 此项目没有录入成绩n); return; for(i=1;i0;i-) for(b=1;b=a;b+) if(fbge.num=i) printf(%5d,b); void(*g)()=input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0; void main() int choos; printf(n*运动会分数统计*n); printf( 共有多少个学校参赛(1-20):); scanf(%d,&a); while(a20) if(a20) printf(n 参赛学校个数不能大于20n); printf( 共有多少个学校参赛:); scanf(%d,&a); printf( 有几个男子组 :); scanf(%d,&c); printf( 有几个女子组:); scanf(%d,&d); for(i=0;i=a;i+) fi=(struct node *)malloc(sizeof(struct node)*(c+d+3); for(j=0;j=c+d+2;j+) fij.num=0; choos=choose(); while(1) while(choos8) choos=choose(); (*gchoos)(); printf(n); choos=choose(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -