我写了这段代码来找到均值和中位数,但我总是把这些错误:
" 71警告:传递'中位数'的参数1在没有强制转换的情况下从整数生成指针"
和
" 14注意:预期' int *'但参数的类型为' int'"。
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
float mean(float x,int y)
{
float toplam = x;
int adet=y;
return toplam/adet;
}
int median(int AlinanSayilar[200],int adet)
{
int kacinci,kacinci2;
int medyan=0;
if(adet%2==1)
{
kacinci=(adet/2)-1;
kacinci2=kacinci+1;
medyan=(AlinanSayilar[kacinci]+AlinanSayilar[kacinci2])/2;
}
else
{
kacinci=(adet/2)-0.5;
medyan=AlinanSayilar[kacinci];
}
printf("%d",medyan);
return 0;
}
int main()
{
int sayilar[200];
int i,k,j,holder;
float sum=0;
printf("Welcome the calculator...\n\tThis calculator finds mean,median and
mode of your numbers...\n");
printf("\t\tNOTE:Please enter only integer numbers...\n\n");
for(i=0;true;i++)
{
printf("Please enter a number(press -1 for exit): ");
scanf("%d",&sayilar[i]);
printf("\n");
if(sayilar[i]==-1){
break;
}
sum +=sayilar[i];
}
for(k=0;k<i-1;k++)
{
for(j=k+1;j<i;j++)
{
if(sayilar[k]>sayilar[j])
{
holder=sayilar[k];
sayilar[k]=sayilar[j];
sayilar[j]=holder;
}
}
}
printf("Mean:%.2f",mean(sum,i));
median(sayilar[i],i);
system("pause");
return 0;
}
我该怎么办?先谢谢你的帮助。如果你知道寻找模式(最重复的数字),你可以编写代码吗?
答案 0 :(得分:0)
您的中值函数采用数组和整数,但在main()函数中,您使用两个整数调用它。 sayilar [i]是sayilar数组的第i个索引,所以它是一个int。
您可以通过将行更改为
来解决此问题# CODE FREEZES and DOESN'T RUN SECOND item IN EMAILS_LIST -- SEE output
"""
<MailWorker(Thread-1, initial)>
********************
Thread-1
1 in queue size
0 out queue size
********************
Contet = rubbish_fQ94hEAi93@brighthouse.co.uk valid 250
Domain is a Catch-All. email: fred@brighthouse.co.uk host: brighthouse-co-uk.mail.protection.outlook.com
(['fred@brighthouse.co.uk', 'joe.fred@brighthouse.co.uk', 'joe@brighthouse.co.uk'], 'catchall', -99, 0)
<MailWorker(Thread-2, initial)>
********************
Thread-2
0 in queue size
0 out queue size
******************** <---- code blocks here
"""
答案 1 :(得分:0)
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickValues([]);