新手求教(函数嵌套) 小弟我的程序有有关问题。

新手求教(函数嵌套) 我的程序有问题。。
求改正
#include<stdio.h>

float e(int n)
{
int i,m,sum=0;
float a;
for(i=1;i<=n;i++)
{
printf("请输入学生成绩:");
scanf("%d",&m);
sum+=m;
}
a=(float)sum/n;
return a;
}
int h(int n)
{
int i;
int count=0;
for(i=1;i<=n;i++)
{
if(n>e(n))
count++;


return count;
}
int main(void)
{
int n;
printf("请输入学生人数,并在回车后输入学生成绩:");
scanf("%d",&n);
e(n);
h(n);
printf("平均成绩为%.2d,高于平均成绩的有%d人:",e(n),h(n));
return 0;
}
求改正

题目是(定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计10个学生成绩中,高于平均成绩的有多少人)刚学到函数的嵌套。。。。。。
------解决方案--------------------
e函数中传入的是人数,而h函数中传入的是学生成绩。
------解决方案--------------------
大致是这样的逻辑:


#include <stdlib.h>
#include <stdio.h>

int oc(float* s, int n, float a)
{
int c;
int i;

c = 0;
for(i = 0; i < n; i++)
{
if(s[i] > a)
{
c++;
}
}

return c;
}

int main(int argc, char* argv[])
{
int n;
float* s;
float a;
int c;
float t;
int i;

printf("请输入学生人数,并在回车后输入学生成绩: ");
scanf("%d", &n);
s = (float*)malloc(n * sizeof(float));

a = 0.0;
for(i = 0; i < n; i++)
{
printf("请输入学生成绩: ");
scanf("%f", &t);
a += t;
}
a /= n;

c = oc(s, n, a);
printf("平均成绩为%.2f, 高于平均成绩的有%d人\n", a, c);

free(s);
return 0;
}


引用:
求改正
#include<stdio.h>

float e(int n)
{
int i,m,sum=0;
float a;
for(i=1;i<=n;i++)
{
printf("请输入学生成绩:");
scanf("%d",&m);
sum+=m;
}
a=(float)sum/n;
return a;
}
int h(int n)
{
int i;
int count=0;
for(i=1;i<=n;i++)
{
if(n>e(n))
count++;


return count;
}
int main(void)
{
int n;
printf("请输入学生人数,并在回车后输入学生成绩:");
scanf("%d",&n);
e(n);
h(n);
printf("平均成绩为%.2d,高于平均成绩的有%d人:",e(n),h(n));
return 0;
}
求改正

题目是(定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计10个学生成绩中,高于平均成绩的有多少人)刚学到函数的嵌套。。。。。。

------解决方案--------------------

#include "stdafx.h"
#include<stdio.h>
#include <vector>
using namespace std;

vector<int> vecScore;///=============
float average;

float e(int n)
{
int i,m,sum=0;
float a;
for(i=1;i<=n;i++)
{
printf("请输入第 %d 个学生成绩:",i);
scanf("%d",&m);
vecScore.push_back(m);///============
sum+=m;
}
a=(float)sum/n;
average = a;
return a;
}
int h(int n)
{
int i;
int count=0;
for(i=1;i<=n;i++)
{
if(vecScore[i-1]>average)  ////===============
count++;


return count;
}
int main(void)
{


int n;
printf("请输入学生人数,并在回车后输入学生成绩:");
scanf("%d",&n);
e(n);
h(n);
printf("平均成绩为%.2f,高于平均成绩的有%d人:",average,h(n));
return 0;
}

新手求教(函数嵌套)  小弟我的程序有有关问题。