本例建立一个函数fun,有三个数组参数,其中h[],low[]两个数组用来分别存储高于均值的成绩和低于均值的成绩,并返回高于平均成绩的分数的个数。
代码如下
#include
int n;
float sum=0,average;
float fun(float num[],float h[],float low[]);
int main()
{int i;
do
{printf("请输入人数:");scanf("%d",&n);}
while(n<=0);
float num[n],h[n],low[n];
for (i=0;i {scanf("%f",&num[i]); sum+=num[i]; } for(i=0;i printf("\n总分:%.1f\n",sum); average=sum/n; printf("高于平均成绩%.1f的分数\n",average); for (i=0;i printf("%.1f\t",h[i]); printf("\n低于平均成绩%.1f的分数\n",average); for (i=0;i<(n-fun(num,h,low));i++) printf("%.1f\t",low[i]); return 0; } float fun(float num[],float h[],float low[]) {int i,c=0,d=0; //c,d为计数器 for (i=0;i { if (num[i]>average) {h[c]=num[i];c++;} //大于均值的成绩送入数组h[] else {low[d]=num[i];d++;} //低于均值的成绩送入数组low[] } return c; }
#include
#define N 100
int fun(float *a,float *b,float *c,int n) { int i,n1,n2; float av;
av=0; for ( i=0;i av/=n; n1=n2=0; for ( i=0;i return n1; } void main() { float a[N],b[N],c[N]; int i,na,nb,nc; scanf("%d",&na); for ( i=0;i nb=fun(a,b,c,na); nc=na-nb; for ( i=0;i for ( i=0;i }