#include<stdio.h>#define N 10void intoscore(int score[]);void sortscore(int score[],int count[]);float averofscore(int score[]); int modeofscore(int count[]);int main(){ int score[N]={0},count[11]={0}; intoscore(score); sortscore(score,count); printf("aver=%d\n",averofscore(score)); printf("mode=%d",modeofscore(score));}void intoscore(int score[]){ int i; for(i=0;i<N;i++) { printf("please input your score:"); scanf("%d",&score[i]); } }void sortscore(int score[],int count[]){ int i; for(i=0;i<N;i++) { switch(score[i]) { case 1:count[1]++;break; case 2:count[2]++;break; case 3:count[3]++;break; case 4:count[4]++;break; case 5:count[5]++;break; case 6:count[6]++;break; case 7:count[7]++;break; case 8:count[8]++;break; case 9:count[9]++;break; case 10:count[10]++;break; } } }float averofscore(int score[]){ int sum=0;int i; for(i=0;i<N;i++) { sum+=score[i]; } return (float)sum/N;}int modeofscore(int count[]){ int max=count[1];int i,mode; for(i=1;i<N;i++) { if(max<count[i]) { max=count[i]; mode=i; } } return mode;}不知为何调用的averofscore求平均值函数和modeofscore求众数函数都没有输出我想要的结果,调试了一下发现sum的值不是我所定义的0,求解
1 回答
已采纳
这都不会
TA贡献72条经验 获得超92个赞
printf("aver=%d\n",averofscore(score));
看你main函数里这句话,能输出浮点数才怪了。算平均值那个函数应该是没错的。
另外搞不清楚你到底是要求众数还是中位数。
- 1 回答
- 0 关注
- 1760 浏览
添加回答
举报
0/150
提交
取消