Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中寻找中位数_C_Arrays_Median - Fatal编程技术网

在C中寻找中位数

在C中寻找中位数,c,arrays,median,C,Arrays,Median,我写这段代码是为了找出均值和中位数,但我总是会犯以下错误: “71警告:传递'median'的参数1将使指针从整数变为无强制转换” 以及: “14注意:应为'int*',但参数的类型为'int'” #包括 #包括 #包括 浮动平均值(浮动x,整数y) { 浮顶高度=x; int adet=y; 返回toplam/adet; } 中间值(中间值[200],中间值) { 内卡辛奇,卡辛奇2; int-medyan=0; 如果(adet%2==1) { 卡辛奇=(adet/2)-1; 卡辛奇2=卡辛奇

我写这段代码是为了找出均值和中位数,但我总是会犯以下错误:

“71警告:传递'median'的参数1将使指针从整数变为无强制转换”

以及:

“14注意:应为'int*',但参数的类型为'int'”

#包括
#包括
#包括
浮动平均值(浮动x,整数y)
{
浮顶高度=x;
int adet=y;
返回toplam/adet;
}
中间值(中间值[200],中间值)
{
内卡辛奇,卡辛奇2;
int-medyan=0;
如果(adet%2==1)
{
卡辛奇=(adet/2)-1;
卡辛奇2=卡辛奇+1;
枸杞子=(阿林纳沙依拉[kacinci]+阿林纳沙依拉[kacinci2])/2;
}
其他的
{
卡辛奇=(adet/2)-0.5;
枸杞子=AlinanSayilar[kacinci];
}
printf(“%d”,medyan);
返回0;
}
int main()
{
int sayilar[200];
int i,k,j,holder;
浮点数和=0;
printf(“欢迎使用计算器…\n\t此计算器查找平均值、中值和
您的号码模式…\n“;
printf(“\t\t注意:请只输入整数…\n\n”);
for(i=0;true;i++)
{
printf(“请输入一个数字(按-1退出):”;
scanf(“%d”&sayilar[i]);
printf(“\n”);
if(sayilar[i]=-1){
打破
}
sum+=sayilar[i];
}

对于(k=0;k你的中值函数取一个数组和一个整数,但是在main()函数中你用两个整数调用它。sayilar[i]是sayilar数组的第i个索引,所以它是一个整数

您可以通过将行更改为

median(sayilar,i);
#包括
#包括
int b[100],m,md,i,n1,md1,md2,mdt,sum,n;
整数平均值(整数n,整数a[]
{

因为(i=0;i
sayilar[i]
是一个
int
;也许你的意思是:
median(sayilar[i],i);
-->
median(sayilar,i);
很有效。谢谢你的帮助。
median(sayilar,i);
#include <stdio.h>
#include <stdlib.h>
int b[100],m,md,i,n1,md1,md2,mdt,sum,n;
int mean(int n, int a[])
{
    for(i=0;i<n;i++)
    {
        sum+=a[i];
    }
    m=sum/n;
    return m;
}
int median(int n,int a[])
{
    if(n%2==0)
    {
        md1=(n/2)-1;
    md2=(n/2);
    mdt=(a[md1]+a[md2])/2;
    return mdt;


    }
    else
    {
     md=(n/2)-1;
        return a[md];
    }
}
 main()
{
    int rmean,rmedian;
    n1=10;//declaring the number of integers
    for(i=0;i<n1;i++)
    {
        b[i]=i+1;// assigning the integer values of the array in which mean and //median is to be found

    }
    rmean=mean(n1,b);
    rmedian=median(n1,b);
    printf("the mean :%d",rmean);
    printf("the median: %d",rmedian);
}