唉看个题吧不会第三问。

#include<stdio.h>
#define N 1
struct student
{
  char name[100];
  int m,c,y,h,w,sum;
  };
  int main()
  {
    struct student stu[N+1];
    int i,m_ave=0,c_ave=0,y_ave=0,h_ave=0,w_ave=0,max;
    printf("请输入各学生的姓名、语文、数学、英语、地理、生物\n");
    for(i=1;i<=N;i++)
    {
      printf("第%d个学生:",i);
      scanf("%s",stu[i].name);
      scanf("%d%d%d%d%d",&stu[i].m,&stu[i].c,&stu[i].y,&stu[i].h,&stu[i].w,stu[i].sum);
      stu[i].sum=(stu[i].m+stu[i].c+stu[i].y+stu[i].h+stu[i].w)/5;
      m_ave+=stu[i].m;
      c_ave+=stu[i].c;
      y_ave+=stu[i].y;
      h_ave+=stu[i].h;
      w_ave+=stu[i].w;
    }
    stu[0].m=m_ave/N;
    stu[0].c=c_ave/N;
    stu[0].y=y_ave/N;
    stu[0].h=h_ave/N;
    stu[0].w=w_ave/N;
    for(i=1;i<=N;i++)
    printf("%s\t%d\t%d\t%d\t%d\t%d\t个人平均分:%d\n",stu[i].name,stu[i].c,stu[i].y,stu[i].h,stu[i].w,stu[i].m,stu[i].sum);
    printf("各科平均:\t%d\t%d\t%d\t%d\t%d\n",stu[0].m,stu[0].c,stu[0].y,stu[0].h,stu[0].w);

  }
第三问怎么编进去
2:编程实现输入 10 个学生的姓名以及 5 门课的成绩。
1)计算每个学生的平均分
2)计算每门课的平均分
3)分析出每门课的最高分和对应的学生姓名。

你的修改了下,你看看

#include<stdio.h>
#define N 3
#define KN 5

struct student
{
    char name[20];
    int ke[KN];
    float ave;
};

int main()
{
    char kname[KN][10]={"语文","数学","英语","地理","生物"};
    struct student stu[N] = {0};
    int i;
    int maxke[KN] = {0};//最高分
    int maxname[KN] = {0};//最高分学生号
    float aveke[KN] = {0.0}; //每门课平均分

    printf("请输入各学生的姓名、语文、数学、英语、地理、生物\n");
    for(i = 0; i < N; i++)
    {
        printf("第%d个学生:", i + 1);
        scanf("%s", stu[i].name);

        for(int j = 0; j < KN; j++)
        {
            scanf("%d", &stu[i].ke[j]);
            stu[i].ave += stu[i].ke[j]; //每个人的总分
            aveke[j] += stu[i].ke[j]; //每门课的总分

            if(stu[i].ke[j] > maxke[j])
            {
                maxke[j] = stu[i].ke[j]; //记录最高分
                maxname[j] = i; //记录最高分学生号
            }
        }

        stu[i].ave /= KN;
    }

    for(i = 0; i < N; i++)
    {
        printf("%s", stu[i].name);
        for(int j = 0; j < KN; j++)
            printf("\t%d", stu[i].ke[j]);

        printf("\t个人平均分:%.2f\n", stu[i].ave);
    }

    printf("各科平均:");
    for(int j = 0; j < KN; j++)
        printf("\t%.2f", aveke[j] / N);

    printf("\n各科最高分:\n");
    for(int j = 0; j < KN; j++)
    {
        printf("%s:%d %s\n",kname[j],maxke[j],stu[maxname[j]].name );
    }

    return 0;
}