更新 '1.c'
This commit is contained in:
parent
9114af76e0
commit
b1f1776435
69
1.c
69
1.c
@ -1,6 +1,7 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<conio.h>
|
||||
#include<string.h>
|
||||
#define MAX 100
|
||||
#define MAX_1 100
|
||||
typedef struct singer{
|
||||
@ -93,7 +94,49 @@ void load(SING sing[MAX], int *num, int *num_){
|
||||
// 关闭文件
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
void aver(SING sing[MAX], int num, int num_){
|
||||
int temp,data[MAX_1];
|
||||
for(int k=0;k<num;k++){
|
||||
memcpy(data,sing[k].score,sizeof(int)*MAX_1);
|
||||
// 对分数按从小到大排序
|
||||
for(int i=0;i<num_-1;i++){
|
||||
for(int j=0;j<num_-1-i;j++){
|
||||
if(data[j]>data[j+1]){
|
||||
// 交换元素
|
||||
temp=data[j];
|
||||
data[j]=data[j+1];
|
||||
data[j+1]=temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 计算平均分
|
||||
temp=0;
|
||||
for(int j=1;j<num_-1;j++){
|
||||
temp+=data[j];
|
||||
}
|
||||
sing[k].aver = temp / (float)(num_-2);
|
||||
}
|
||||
}
|
||||
void mark(SING sing[MAX], int num, int *num_){
|
||||
// 输入评委个数
|
||||
printf("请输入评委个数:");
|
||||
scanf("%d",num_);
|
||||
// 逐个评分
|
||||
for(int i=0;i<num;i++){
|
||||
system("cls");
|
||||
printf("当前正在对第 %d 个歌手进行评分:\n\n",i+1);
|
||||
printf("歌手信息如下:\n");
|
||||
printf("序号\t姓名\t性别\n");
|
||||
printf("%d\t%s\t%s\n\n",sing[i].num,sing[i].name,sing[i].xb);
|
||||
for(int n=0;n<*num_;n++){
|
||||
printf("现在请第 %d 个评委进行评分(0-10分):",n+1);
|
||||
scanf("%d",&sing[i].score[n]);
|
||||
}
|
||||
}
|
||||
// 计算平均分
|
||||
aver(sing,num,*num_);
|
||||
printf("评分完成。\n");
|
||||
}
|
||||
int main(){
|
||||
SING sing[MAX];
|
||||
// num 为歌手数,num_ 为评委数
|
||||
@ -102,17 +145,18 @@ int main(){
|
||||
|
||||
while(1){
|
||||
// 1.菜单
|
||||
printf("\t1.输入歌手信息\n");
|
||||
printf("\t2.输出歌手信息\n");
|
||||
printf("\t3.新增一个歌手\n");
|
||||
printf("\t1.输入歌手信息\n"); // 已完成
|
||||
printf("\t2.输出歌手信息\n"); // 已完成
|
||||
printf("\t3.新增一个歌手\n"); // 已完成
|
||||
printf("\t4.查找歌手信息\n");
|
||||
printf("\t5.修改歌手信息\n");
|
||||
printf("\t6.删除歌手信息\n");
|
||||
printf("\t7.评委评分\n");
|
||||
printf("\t8.输出歌手成绩\n");
|
||||
printf("\t9.保存歌手信息\n");
|
||||
printf("\t10.加载歌手信息\n");
|
||||
printf("\t0.退出\n");
|
||||
printf("\t7.排序歌手\n");
|
||||
printf("\t8.评委评分\n");
|
||||
printf("\t9.输出歌手成绩\n");
|
||||
printf("\t10.保存歌手信息\n"); // 已完成
|
||||
printf("\t11.加载歌手信息\n"); // 已完成
|
||||
printf("\t0.退出\n"); // 已完成
|
||||
|
||||
// 2.输入
|
||||
scanf("%d", &choice);
|
||||
@ -131,10 +175,13 @@ int main(){
|
||||
case 3:
|
||||
insert(sing,&num);
|
||||
break;
|
||||
case 9:
|
||||
save(sing,num,num_);
|
||||
case 8:
|
||||
mark(sing,num,&num_);
|
||||
break;
|
||||
case 10:
|
||||
save(sing,num,num_);
|
||||
break;
|
||||
case 11:
|
||||
load(sing,&num,&num_);
|
||||
break;
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user