歌手比赛系统C语言代码.docx
歌手比赛系统C语言代码#include<stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> #define N 5 #define M 10 int add = N-1; int sumN=0,MaxN,MinN; float averN;struct player int num; char name8; int scoreM; ; void Inistplayer(struct player a,int n) int i; printf("请输入歌手信息:");for(i=0;i<n;i+) scanf("%d %s",&ai.num,&ai.name); void Inputscore(struct player *p,int n) int i; for(i=0;i<n;i+) printf("请第%d位评委打分:",i+1);scanf("%d",p->scorei); void sort(struct player a,float b,int n) int i,k,j,t; float temp; char str8; for(i=0;i<n;i+) k=i; for(j=i+1;j<n;j+) if(bk>bj) k=j; if(k!=i)temp=bi; bi=bk; bk=temp; strcpy(str,ai.name); strcpy(ai.name,ak.name); strcpy(ak.name,str); t=ai.num; ai.num=ak.num; ak.num=t; void main int flag=1,n,i,m,j;struct player a20;FILE *fp; fp = fopen("data.txt","w+"); printf("nnnntt*歌手比赛系统*tn");printf("tt * 1. 输入选手基本信息 n");printf("tt * 2. 评委打分 n");printf("tt * 3. 歌手成绩显示 n");printf("tt * 4. 成绩排序 n");printf("tt * 5. 数据查询 n");printf("tt * 6. 写入数据文件 n");printf("tt * 7. 退出系统 n");printf("tt*n");while(flag) printf("你想进行的操作:");scanf("%d",&n); switch(n) case 1:Inistplayer(a,N);break; case 2: for(i=0;i<N;i+) int j; printf("第%d位选手的成绩:n",i+1); for(j=0;j<10;j+) printf("请第%d位评委打分:",j+1);scanf("%d",&ai.scorej);printf("n"); break; case 3:for(i=0;i<N;i+)printf("第%d位选手的成绩为:n",i);for(j=0;j<10;j+)printf("%dt",ai.scorej);break;case 4:for(i=0;i<N;i+) Maxi=ai.score0; Mini=ai.score0; for(j=0;j<M;j+) sumi+=ai.scorej; if(Maxi<ai.scorej) Maxi=ai.scorej; if(Mini>ai.scorej) Mini=ai.scorej; averi=(float)(sumi-Maxi-Mini)/(M-2); sort(a,aver,N); for(i=0;i<N;i+) printf("%s %5.2fn",ai.name,averi); break; case 5:printf("你想查询选手的参赛号:"); scanf("%d",&m); for(i=0;i<N;i+) if(ai.num=m) printf("%d号选手 %s总分:%d,最高分%d,最低分%d,平均分%5.2f",ai.num,ai.name,sumi,Maxi,Mini,averi); printf("n"); break; case 6:printf("将数据写入文件中:n"); for (i = 0;i<add+1;i+) fprintf(fp,"%d ",ai.num); fprintf(fp,"%s ",ai.name); fprintf(fp,"%.2n",averi); fclose(fp);printf("写入成功!n");break; case 7:exit(0); break; default:flag=0;