AVERLEVEL"};floatx=0.6,y=0.2;voidinput();" />

结构体数组 输入 输出 排序

#include

typedef struct
{
int ID[1];//数组
int score[4];//数组
char rank[2];//数组
}STUDENT;
STUDENT stus[30]; //定义STUDENT型的stus[30]数组
int i,j,k,n,ave=0;
char str1[]={"输出结果:NUM TS PS ES RS >AVER LEVEL"};
float x=0.6,y=0.2;
void input();//输入
void rank();//计算是否>aver,LEVEL
void sort();//排序
void output();//输出
void main()
{
input();
rank();
sort();
printf("%s\n",str1);
for(i=0;i{
output();
}
printf("\n");

for(i=0;i{
if(stus[i].score[3]<60)
{
printf("%s\n",str1);
printf("不及格的:\n");
break;
}
}
for(i=0;i{
if(stus[i].score[3]<60)
{
output();
}
}
printf("\n");
}

void sort()
{
for(i=0;i{
STUDENT temp;
for(j=i+1;j{
if(stus[i].score[3]{
temp=stus[i];
stus[i]=stus[j];
stus[j]=temp;
}
}
}
}

void output()
{
printf(" ");
printf(" %d",stus[i].ID[0]);
printf("\t");
for(j=0;j<4;j++)
{
printf("%d\t",stus[i].score[j]);
}
for(k=0;k<2;k++)
{
printf(" %c\t",stus[i].rank[k]);
}
printf("\n");
}
void rank()
{
for(i=0;i{
ave=ave+stus[i].score[3];
}
ave=ave/n;

for(i=0;i{
if(stus[i].score[3]>=ave)
{
stus[i].rank[0]='T';
}
else
stus[i].rank[0]='F';
}

for(i=0;i{
switch(stus[i].score[3]/10)
{
case 6:
stus[i].rank[1]='D';break;
case 7:
stus[i].rank[1]='C';break;
case 8:
stus[i].rank[1]='B';break;
case 9:
stus[i].rank[1]='A';break;
default:
stus[i].rank[1]='E';
}
}
}
void input()
{
printf("输入学生数量n=");
scanf("%d",&n);

printf("请输入:NUM TS PS ES\n");
for(i=0;i{
printf(" ");
scanf("%d",&stus[i].ID[0]);
for(j=0;j<3;j++)
{
scanf("%d",&stus[i].score[j]);
}
stus[i].score[3]=stus[i].score[0]*x+stus[i].score[1]*y+stus[i].score[2]*y;
}
}


相关文档
最新文档