回复 8楼 指尖
有点迟不好意思看看满意不
#include"stdio.h"
struct NEWS
{
int number;
char name[20];
float m;
float y;
float c;
float avery;
};
void read(struct NEWS *p)
{
printf("输入学号:\n");
scanf("%d",&p->number);
printf("输入姓名\n");
scanf("%s",p->name);
printf("输入数学成绩:\n");
scanf("%f",&p->m);
printf("输入英语成绩:\n");
scanf("%f",&p->y);
printf("输入c语言成绩:\n");
scanf("%f",&p->c);
p->avery=(p->m+p->y+p->c)/3;
}
void out(struct NEWS *p)
{
printf("%d ",p->number);
printf("%s ",p->name);
printf("%f ",p->m);
printf("%f ",p->y);
printf("%f ",p->c);
printf("%f \n",p->avery);
}
void big(struct NEWS *p)
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<9-i;j++)
{
if((p+j)->avery>(p+j+1)->avery)
*(p+j+1)=*(p+1);
}
}
void main()
{
int i;
struct NEWS a[10];
for(i=0;i<10;i++)
{
printf("第%d个学生信息输入:",i+1);
read(a+i);
}
printf("学号 姓名 数学 英语 c语言 平均分\n");
for(i=0;i<10;i++)
out(a+i);
big(a);
for(i=7;i<10;i++)
out(a+i);
}