#include <stdio.h>
int calculate_mode(int number [],int n)//求众数
{
int i,temp;
int p_count=1,count=1;
temp=number[0];
for(i=1;i<n;i++)
if(temp==number[i])
{
count++;
temp=number[i];
}
else
{
if(count>p_count)
{
p_count=count;//更新众数
}
count=1;
temp=number[i];
}
return p_count;
}
double calculate_mean(int number [],int n)//求平均值
{
int i;
double sum=0;
for(i=0;i<n;i++)
{
sum+=number[i];
}
return sum/n;
}
double calculate_median(int number [],int n)//求中位数
{
if(n%2==0)
return (number[n/2-1]+number[n/2])/2.0;
else
return number[n/2];
}
int main(void)
{
int n,i,j,number[100]={0},temp;
double mean,median;
int mode;
printf("请问需要输入几位整数?\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&number[i]);
for(i=0;i<n;i++)//排序,方便计算
for(j=i+1;j<n;j++)
if(number[i]>number[j])
{
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
mean=calculate_mean(number,n);
median=calculate_median(number,n);
mode=calculate_mode(number,n);
printf("平均值是%f\n中位数是%f\n众数是%d",mean,median,mode);
return 0;
}
刚写的~~~如果有错误告诉我
追问能把他以文字的形式发过来么