C结构问题。请教高手

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:31:02
题目要求。定义一个结构 用来保存学生信息。,编写一个程序,接收信息,(然后才是重点。。。) 计算每位学员平均成绩并显示详细信息。计算平均成绩通过“函数实现”

就是这个函数实现。。我很郁闷。。 请告诉我为什么没有最后详细信息

#include <stdio.h>
void ave();
struct xinxi
{
int num;
char name[20];
float c;
float java;
}stu[5];
void main()
{
int i;
for(i=0;i<5;i++)
{
printf("请输入学号:");
scanf("%d",&stu[i].num);
printf("请输入姓名:");
getchar();
gets(stu[i].name);
printf("请输入c语言成绩:");
scanf("%f",&stu[i].c);
printf("请输入java成绩");
scanf("%f",&stu[i].java);
}
ave();
}
void ave()
{
int i;
float sum=0;
float pingjun;
for(i=0;i<5;i++)
{
sum=stu[i].c+stu[i].java;
pingjun=sum/2;
printf("学号%d 姓名为%s的平均成绩为%.3f",pingjun);
}
}

void ave()
{
int i;
float sum=0.0f;
float pingjun = 0.0f;
for(i=0;i<5;i++)
{
sum=0.0f;
pingjun = 0.0f;
sum=stu[i].c+stu[i].java;
pingjun=sum/2;
printf("学号%d 姓名为%s的平均成绩为%.3f\n",stu[i].num, stu[i].name, pingjun);
}
}

ave函数里
printf("学号%d 姓名为%s的平均成绩为%.3f",pingjun);
改为
printf("学号%d 姓名为%s的平均成绩为%.3f",stu[i].num, stu[i].name, pingjun);