首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >写了个代码,目的是输入20个1-9的整数,然后求他们的平均值,中位数和众数?

写了个代码,目的是输入20个1-9的整数,然后求他们的平均值,中位数和众数?

提问于 2020-10-30 23:10:08
回答 1关注 0查看 207

代码不报错且不通过请大佬指点问题所在

#include<stdio.h>

#define size 20

double average(int a[size]);

double median( int a[size]);

int mode( int a[size]);

int main(void) {

int a[size];

printf("enter twenty integer from 1-9\n");

for(int i=0;i<size;i++){

scanf("%d ",&a[i]);

}

printf("average is %f",average(a[size]));

printf("median is %d",median(a[size]));

printf("mode is %d",mode(a[size]));

}

double average(int a[]){

double k=0;

for(int b=0;b<size;b++){

k+=a[b];

}

return k/size;

}

double median(int a[]){

int temp;

for(int x=0;x<size;x++){

for (int c=0;c<size;c++){

if(a[c]>a[c+1]){

temp=a[c];

a[c]=a[c+1];

a[c+1]=temp;

}

}

}

if (size%2==0){

return (a[size/2]+a[(size/2)+1])/2;

}

else{

return (int)a[size/2];

}

}

int mode(int a[]){

int count1=0;

int count2=0;

int count3=0;

int count4=0;

int count5=0;

int count6=0;

int count7=0;

int count8=0;

int count9=0;

for(int c=0;c<size;c++){

switch (a[c]){

case 1:++count1;break;

case 2:++count2;break;

case 3:++count3;break;

case 4:++count4;break;

case 5:++count5;break;

case 6:++count6;break;

case 7:++count7;break;

case 8:++count8;break;

case 9:++count9;break;

}

int d[]={count1,count2,count3,count4,count5,count6,count7,count8,count9};

for(int e=0;e<8;e++){

int f=d[0];

if (d[e]<d[e+1]){

f=d[e+1];

}

return d[e+1];

}

}

}

相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档