c语言编写求n个整数的平均数,中位数和众数急
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 00:43:30
c语言编写求n个整数的平均数,中位数和众数急
c语言编写求n个整数的平均数,中位数和众数
急
c语言编写求n个整数的平均数,中位数和众数急
#include <stdio.h>
int calculate_mode(int number [],int n)//求众数
{
\x09int i,temp;
\x09int p_count=1,count=1;
\x09temp=number[0];
\x09for(i=1;i<n;i++)
\x09\x09if(temp==number[i])
\x09\x09{
\x09\x09\x09count++;
\x09\x09\x09temp=number[i];
\x09\x09}
\x09\x09else
\x09\x09{
\x09\x09\x09if(count>p_count)
\x09\x09\x09{
\x09\x09\x09\x09p_count=count;//更新众数
\x09\x09\x09}
\x09\x09\x09count=1;
\x09\x09\x09
\x09\x09\x09temp=number[i];
\x09\x09}
\x09
\x09return p_count;
}
double calculate_mean(int number [],int n)//求平均值
{
\x09int i;
\x09double sum=0;
\x09for(i=0;i<n;i++)
\x09{
\x09\x09sum+=number[i];
\x09}
\x09return sum/n;
}
double calculate_median(int number [],int n)//求中位数
{
\x09if(n%2==0)
\x09\x09return (number[n/2-1]+number[n/2])/2.0;
\x09else
\x09\x09return number[n/2];
}
int main(void)
{
\x09int n,i,j,number[100]={0},temp;
\x09double mean,median;
\x09int mode;
\x09printf("请问需要输入几位整数?\n");
\x09\x09scanf("%d",&n);
\x09for(i=0;i<n;i++)
\x09\x09scanf("%d",&number[i]);
\x09for(i=0;i<n;i++)//排序,方便计算
\x09\x09for(j=i+1;j<n;j++)
\x09\x09\x09if(number[i]>number[j])
\x09\x09\x09{
\x09\x09\x09\x09temp=number[i];
\x09\x09\x09\x09number[i]=number[j];
\x09\x09\x09\x09number[j]=temp;
\x09\x09\x09}
\x09mean=calculate_mean(number,n);
\x09median=calculate_median(number,n);
\x09mode=calculate_mode(number,n);
\x09printf("平均值是%f\n中位数是%f\n众数是%d",mean,median,mode);
\x09return 0;
}
刚写的~如果有错误告诉我