#include <stdio.h>
#define N 30
#define M 5
void ReadScore(int score[],long num[],int n);
int SumC(int score[],int n);
void SortByScore(int score[],long num[],int n);
void SortByNum(int score[],long num[],int n);
int Search(long num[],long x,int n);
void Print(int score[],long num[],int n);
void StaAnly(int score[],int n);
int main()
{
int score[N],n,sum,w,id; int pos=0;
float aver;
long num[N],x;
printf("input n:");
scanf("%d",&n);
do{
printf("=================================================\n");
printf("1.Input record\n");
printf("2.Caculate total and average score of course\n");
printf("3.Sort in descending order by score\n");
printf("4.Sort in ascending order by num\n");
printf("5.Search by num\n");
printf("6.Statistic analysis\n");
printf("7.List record\n");
printf("0.Exit\n");
printf("Input the number you want to do :");
scanf("%d",&w);
switch(w){
case 1:ReadScore(score,num,n);break;
case 2:printf("total is %d,average is %.1f\n",SumC(score,n),(float)SumC(score,n)/n);break;
case 3:SortByScore(score,num,n);
Print(score,num,n);
break;
case 4:SortByNum(score,num,n);
Print(score,num,n);
break;
case 5:printf("Input the id you want to search :\n");
scanf("%ld",&x);
id=Search(num,x,n);
printf("%ld score %d\n",x,score[id]);
break;
case 6:StaAnly(score,n);
break;
case 7:Print(score,num,n);
break;
case 0:pos=1;
default:printf("Over\n");
}
}while(pos==0);
return 0;
}
void ReadScore(int score[],long num[],int n)
{
printf("Input %d Id and scores\n",n);
for (int i = 0; i < n; ++i)
{
scanf("%ld%d",&num[i],&score[i]);
/* code */
}
}
int SumC(int score[],int n)
{
int temp=0;
for (int i = 0; i < n; ++i)
{
temp+=score[i];
/* code */
}
return temp;
}
void SortByScore(int score[],long num[],int n)
{
int temp;
long a;
for (int i = 0; i < n-1 ; ++i)
{
for (int j = 1; i < n-i; ++i)
{
if (score[j]>score[j-1])
{
temp=score[j];
score[j]=score[j-1];
score[j-1]=temp;
a=num[j];
num[j]=num[j-1];
num[j-1]=a;
/* code */
}
/* code */
}
/* code */
}
}
void SortByNum(int score[],long num[],int n)
{
int a,k;
long b;
for (int i = 0; i < n-1; ++i)
{
k=i;
for (int j = i+1; j < n; ++j)
{
if (num[k]>num[j])
{
k=j;
/* code */
}
/* code */
}
if(k!=i)
{
b = num[i];
num[i]=num[k];
num[k]=b;
a=score[i];
score[i]=score[k];
score[k]=a;
}
/* code */
}
}
int Search(long num[],long x,int n)
{
for (int i = 0; i < n; ++i)
{
if (num[i]==x)
{
return i;
/* code */
}
/* code */
}
return -1;
}
void Print(int score[],long num[],int n)
{
printf("number\tscore\t\n");
for (int i = 0; i < n; ++i)
{
printf("%6ld\t%5d\n",num[i],score[i] );
/* code */
}
}
void StaAnly(int score[],int n)
{
int count[M]={0};
for (int i = 0; i < n; ++i)
{
if (score[i]>89)
count[0]++;
else if(score[i]>79&&score[i]<90)
count[1]++;
else if(score[i]>69&&score[i]<80)
count[2]++;
else if(score[i]>59&&score[i]<70)
count[3]++;
else count[4]++;
}
printf("优秀\t良好\t中等\t及格\t不及格\t\n");
for (int i = 0; i < M; ++i)
{
printf("%d\t",count[i]);
/* code */
}
printf("\n");
}
TMD劳资总算给写出来了!!!!!!!!!!