//综合实践五:学生多门成绩存储与处理设计
#include<stdio.h>
#define N 5
main(){
float score[N],max,s,x,ave;
int i,j,k,n,num;
while(1){
printf("******学生成绩管理系统********\n");
printf("*** 1 --------- 成绩输入 **\n" );
printf("*** 2 ----------成绩插入 **\n ");
printf("*** 3 ---------成绩查询 **\n ");
printf("*** 4 ---------成绩排序 **\n ");
printf("*** 5 ---------成绩删除 **\n ");
printf("*** 6 ---------成绩输出 **\n ");
printf("*** 0 ---------退出 **\n ");
printf("*****************************\n");
printf("请输入你的选择:");
scanf("%d",&n);
switch(n){
case 1:printf("输入成绩个数(<%d):",N);
scanf("%d",&num);
for(i=0;i<num;i++){
scanf("%f",&score[i]);
}
break;
case 2:printf("输入要插入的成绩:");
scanf("%f",&x);
i=num-1;
while(i>=0&&score[i]<x){
score[i+1]=score[i];
i--;
}
score[i+1]=x;
num++;
break;
case 3:printf("输入要查询的成绩:");
scanf("%f",&x);
for(i=0;i<N;i++){
if(x==score[i])
break;
}
if(i<N)
printf("序号:%d\n",i+1);
else printf("成绩不存在!\n");
break;
case 4:for(i=0;i<num-1;i++){
k=i;
for(j=i+1;j<num;j++){
if(score[k]>score[j])
k=j;
}
x=score[i];
score[i]=score[k];
score[k]=x;
}
break;
case 5:printf("输入要删除的成绩:");
scanf("%f",&x);
i=0;
while(i<num&&score[i]!=x){
i++;
}
if(i<num){
while(i<num-1){
score[i]=score[i+1];
i++;
}
num--;
}
else printf("成绩不存在!\n");
break;
case 6:printf("成绩输出:");
for(i=0;i<num;i++){
printf("%5.1f",score[i]);
}
printf("\n");
break;
case 0:return;
default:printf("选择错误!\n");
}}}