请高手指点一下这个程序的错误
这个程序编译没有是没有发现错误,但是执行的时候输入第一个学生的数据,回车程序就会终止运行。请指点一下错误在什么地方。#include "stdio.h"
void main()
{
struct student
{
char name[20];
int num;
float English;
float Math;
float C;
}stu[10];
int i,n;
float ave[10],max;
for(i=0;i<10;i++)
{
printf("请输入第%d个学生的姓名、学号、英语、数学和C程序设计成绩:\n",i+1);
scanf("%s %d %f %f %f",stu[i].name,stu[i].num,stu[i].English,stu[i].Math,stu[i].C);
}
printf("姓名\t学号\t平均成绩\n");
for(i=0;i<10;i++)
{
ave[i]=(stu[i].English+stu[i].Math+stu[i].C)/3;
printf("%-10s%-10d%-6.2f",stu[i].name,stu[i].num,ave[i]);
}
max=ave[i];
for(i=0;i<10;i++) //找出平均成绩的最大值
{
if(max<ave[i])
{
max=ave[i];
n=i; //找出最大值对应的结构体数组的下标
}
}
printf("平均分最高的学生是:\n姓名:%s\t学号:%d\t平均分:%-6.2f",stu[n].name,stu[n].num,ave[n]);
}