<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C語言實現歌手比賽系統的具體程式碼,供大家參考,具體內容如下
對一次歌手比賽的成績進行管理
輸入每個選手的資料包括編號、姓名、十個評委的成績,根據輸入計算出總成績和平均成績(去掉最高分,去掉最低分)。
要求歌手比賽系統實現對學生基本資訊(如編號、姓名、性別等)及十個評委的成績的管理(增加、刪除、修改或更新、查詢、統計、儲存到檔案、從檔案裝載等操作)。
#include<stdio.h> #include<stdlib.h> struct singer/*定義結構體*/ { int num; char name[10]; float score[20]; float aver; float sum; int ord; }singer[100]; void singer_information(int b) /*輸入選手資訊*/ { int i; for(i=1;i<=b;i++) { printf("請輸入選手編號:"); scanf("%d",&singer[i].num); printf("請輸入選手姓名:"); scanf("%s",&singer[i].name); } } int singer_score(int b) { int j,c; float a[50]; for(j=1;j<=b;j++) { printf("n請輸入評委1對歌手%d的打分",j); scanf("%f",&singer[j].score[1]); printf("請輸入評委2對歌手%d的打分",j); scanf("%f",&singer[j].score[2]); printf("請輸入評委3對歌手%d的打分",j); scanf("%f",&singer[j].score[3]); printf("請輸入評委4對歌手%d的打分",j); scanf("%f",&singer[j].score[4]); printf("請輸入評委5對歌手%d的打分",j); scanf("%f",&singer[j].score[5]); printf("請輸入評委6對歌手%d的打分",j); scanf("%f",&singer[j].score[6]); printf("請輸入評委7對歌手%d的打分",j); scanf("%f",&singer[j].score[7]); printf("請輸入評委8對歌手%d的打分",j); scanf("%f",&singer[j].score[8]); printf("請輸入評委9對歌手%d的打分",j); scanf("%f",&singer[j].score[9]); printf("請輸入評委10對歌手%d的打分",j); scanf("%f",&singer[j].score[10]); a[j]=singer[j].score[1]+singer[j].score[2]+singer[j].score[3]+singer[j].score[4]+singer[j].score[5]+singer[j].score[6]+singer[j].score[7]+singer[j].score[8]+singer[j].score[9]+singer[j].score[10]; singer[j].sum=a[j]; } } int singer_grade(int b)/* 歌手總成績 */ { int a,c; float n[50],max,min; for(a=1;a<=b;a++) { max=singer[a].score[1]; min=singer[a].score[1]; for(c=1;c<=10;c++) { if(max<singer[a].score[c]) max=singer[a].score[c]; if(min>singer[a].score[c]) min=singer[a].score[c]; } n[a]=(singer[a].sum-max-min)/8.0; singer[a].aver=n[a]; } } int order(int b)/*成績排序*/ { int j,t,i; for(i=1;i<=b;i++) { for(j=1,t=1;j<=b;j++) { if(singer[i].aver<singer[j].aver) { t=t+1; } } singer[i].ord=t; } for(i=1;i<=b;i++) { for(j=1;j<=b;j++) { if(i==singer[j].ord) printf("%s是第%d 得分為%15.2fn",singer[j].name,i,singer[j].aver); } printf("nnn"); } } int search(int c)/*資料查詢*/ { printf("所查選手的資料:編號%d 姓名%s 平均成績%f 總成績%fn",singer[c].num,singer[c].name,singer[c].aver,singer[c].score[c]); } int addition(int i)/*資料追加*/ { printf("請輸入選手編號及姓名:"); scanf("%d,%s/n",&singer[i+1].num,&singer[i+1].name); printf("請輸入評委1對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[1]); printf("請輸入評委2對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[2]); printf("請輸入評委3對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[3]); printf("請輸入評委4對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[4]); printf("請輸入評委5對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[5]); printf("請輸入評委6對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[6]); printf("請輸入評委7對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[7]); printf("請輸入評委8對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[8]); printf("請輸入評委9對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[9]); printf("請輸入評委10對歌手%d的打分",i+1); scanf("%d",&singer[i+1].score[10]); } main() { int a,b,c,i,n=1; FILE *fp; fp = fopen("歌手.txt","wt+"); printf(" 歌手比賽系統 n"); printf("*********************n"); printf("* 1)輸入選手資料 *n"); printf("* 2)評委打分 *n"); printf("* 3)成績排序 *n"); printf("* 4)資料查詢 *n"); printf("* 5)追加學生資料 *n"); printf("* 6)寫入資料檔案 *n"); printf("* 7)退出系統 *n"); printf("*********************n"); while(n) { printf("你想進行的操作: "); scanf("%d",&a); printf("nn"); switch(a) { case 1: printf("你想進行的操作:輸入選手資料n "); printf("請輸入選手個數"); scanf("%d",&b); singer_information(b); printf("----------------------n"); break; case 2: printf("你想進行的操作:評委打分n "); singer_score(b); printf("-----------------------n"); break; case 3: printf("你想進行的操作:成績排序(按平均分)n "); singer_grade(b); order(b); printf("-------------------------n"); break; case 4: printf("你想進行的操作:資料查詢n "); printf("請輸入要查詢選手編號:"); scanf("%d",&c); printf("所查選手的資料:編號%d 姓名%s 平均成績%f 總成績%fn",singer[c].num,singer[c].name,singer[c].aver,singer[c].sum); printf("--------------------------n"); break; case 5: printf("你想進行的操作:追加學生資料n "); addition(b); printf("---------------------------n"); break; case 6: printf("你想進行的操作:寫入資料檔案n "); printf("將資料寫入檔案中:n"); for (i = 0 ; i <=b ; i++) { fprintf(fp,"%d ",singer[i].num); fprintf(fp,"%s ",singer[i].name); fprintf(fp,"%dn",singer[i].aver); } break; case 7: exit(0); default :printf("輸入錯誤請重新輸入!n"); } } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45