标题:自定义函数数组输入的问题
只看楼主
zhang北海
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-11-11
 问题点数:0 回复次数:0 
自定义函数数组输入的问题
要求编写3个自定义函数,分别统计一个数组的平均值,方差和中位数,代码如下:
平均值函数:
#include <stdio.h>
#include <stdlib.h>
float average(int a[10])
{
    int sum=0;
    int i=0;
    float ave;
    for (i=0;i<10;i++)
    {
        sum=sum+a[i];
    }
    ave=sum/10;
    return (ave);
}
方差函数:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float variance (int a[10],float ave)
{
    printf("%lf",ave);
    int i=0;
    float temp1,temp2;
    float temp3=0;
    float var;
    for (i=0;i<10;i++)
    {
        temp1=a[i]-ave;
        temp2=pow(temp1,2);
        temp3=temp3+temp2;
    }
    var=sqrt(temp3);
    return (var);
}
中位数函数:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float median(int a[10])
{
    int i=0;
    int j=0;
    int temp;
    float Median;
    for (i=0;i<10;i++)
    {
        for (j=0;j<=i;j++)
        {
            if (a[i]>=a[j])
            {
                temp=a[j];
                a[j]=a[i];
                a[i]=temp;
            }

        }
        printf("%d\n",a[i]);
    }
    Median=(a[4]+a[5])/2;
    return (Median);
}
主函数:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "Function.h"


int main()
{
    int a[10];
    int *p;
    int i=0;
    float Ave,Var,Med;
    for (i=0;i<10;i++)
    {
        printf("请输入数据\n");
        scanf("%d",&a[i]);
    }
    p=a;
    Ave=average(p);
    Var=variance(p,1);
    Med=median(p);

    printf("Ave=%f",Ave);
    printf("Var=%f",Var);
    printf("Med=%d",Med);
    return 0;
}
其中方差函数在主函数中第二个输入值一直输入不正确?中位数函数不对..求指导..
搜索更多相关主题的帖子: return include average 中位数 平均值 
2015-11-11 13:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-459088-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.088969 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved