求助!谢谢大家!
#include "stdio.h"struct student
{
int num;
char name[8];
int score[3];
float avr;
}stu[3];
float pingjun(struct student stu[]) //求每个人的三课成绩的平均成绩
{
int i,j,sum=0;
float average=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
sum+=stu[i].score[j];
}
average=sum/3.0;
return(average);
}
}
input(struct student stu[]) //输入三个学生的学号,姓名,和三课成绩
{
int i,j;
for(i=0;i<3;i++)
{
printf("输入学生学号:\n");
scanf("%d",&stu[i].num);
printf("输入学生姓名:\n");
scanf("%s",&stu[i].name);
for(j=0;j<3;j++)
{
printf("输入三课成绩:\n");
scanf("%d",&stu[i].score[j]);
}
}
print(stu);
}
print(struct student stu[]) //输出三个学生学号,姓名,和三课成绩,还有平均成绩!
{
int i,j;
for(i=0;i<3;i++)
{
printf("%3d%5s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
{
printf("%5d",stu[i].score[j]);
}
printf("%4.0f",stu[i].avr=pingjun(&stu[i]));
printf("\n");
}
bijiao(stu);
}
bijiao(struct student stu[]) //输出最高分的那个学生的学号,姓名,和三课成绩,平均成绩
{
struct student temp;
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3-i;j++)
if(stu[j].avr<stu[j+1].avr)
{
temp=stu[j+1];
stu[j+1]=stu[j];
stu[j]=temp;
}
}
printf("总分最高的学生是:\n");
printf("%3d%5s%5d%5d%5d%4.0f\n",stu[0].num,stu[0].name,stu[0].score[0],stu[0].score[1],stu[0].score[2],stu[0].avr);
chazhao(stu);
}
chazhao(struct student stu[]) //输入学生姓名,输出该学生的学号,姓名,三课成绩,还有平均成绩
{
int i;
char name[10];
printf("输入查找的姓名:\n");
fflush(stdin);
scanf("%s",name);
fflush(stdin);
for(i=0;i<3;i++)
{
if(name==stu[i].name)
{
printf("3d%5s%5d%5d%5d%4.0f\n",stu[i].num,stu[i].name,stu[i].score[i],stu[i].score[1],stu[i].score[2],stu[i].avr);
}
}
}
int main(void)
{
input(stu);
return(0);
}
问题出在查找那,我用红色标示出来了,我输入学生姓名,并不给我输出该学生的一切信息,高手帮我看看问题出在那?
谢谢!