该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个代码怎么写算法啊,求教,我真的不会写算法怎么办
#include "stdio.h"
#define N 3 //学生数3。
struct Student //建立结构体。
{
int num;
char name[20];
float score[3];
float aver;
};
int main()
{
void input (struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
struct Student stu[N],*p=stu; //定义结构体数组和指针。
input(p);
print(max(p)); //调用print函数,以max函数的返回值作为实参。
return 0;
}
void input(struct Student stu[])
{
int i;
printf("输入各学生信息:学号、姓名、三门课成绩:\n ");
for(i=0;i
{
scanf("%d %s %f %f %f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
}
}
struct Student max(struct Student stu[])
{
int i,m=0;
for(i=0;i
if(stu[i].aver>stu[m].aver) m=i; //找出平均成绩最高的学生在数组中的序号。
return stu[m]; //返回包含该生信息的结构元素。
}
void print(struct Student stu)
{
printf("\n成绩最高的学生是:\n");
printf("学号:%d\n 姓名:%s\n 三门课成绩:%5.1f,%5.1f,%5.1f\n 平均成绩:%6.2f\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2],stu.aver);
}