为了账号安全,请及时绑定邮箱和手机立即绑定

为啥那么总值和平均值不对

为啥那么总值和平均值不对

C
慕运维5483060 2016-12-27 15:48:05
#include <stdio.h>#define N 10int total(int score[]){ int i; int sum; for(i=0;i<=9;i++) { sum+=score[i]; } return sum;}int Max(int score[]){ int i; int max; //int a; for(i=0;i<=9;i++) { if(max<score[i]) { max = score[i]; } /* a=score[i+1]>score[i]?score[i+1]:score[i]; max=max>a?max:a;*/ } return max;}int Min(int score[]){ int i; int min; //int b; for(i=0;i<=9;i++) { if(min>score[i]) { min = score[i]; } /* b=score[i+1]<score[i]?score[i+1]:score[i]; min=score[i+2]<b?score[i+2]:b;*/ } return min;}float Ave(int sum){ return (sum+0.0)/N;}int main(){ int score[N]={2,11,28,10,30,6,22,8,9,10}; int sum; int i,j; int temp; sum=total(score); printf("Total score:%d\n",sum); printf("Max score:%d\n",Max(score)); printf("Min score:%d\n",Min(score)); printf("Average score:%.1f\n",Ave(sum)); puts("changed:"); for(j=1;j<N;j++) { for(i=1;i<N-j;i++) { if(score[i]>score[i+1]) { temp=score[i]; score[i]=score[i+1]; score[i+1]=temp; } } } for(i=0;i<=9;i++) { printf("%d\n",score[i]); } return 0;}
查看完整描述

5 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

sum,max,min三个函数里面的三个变量都没有赋初值。
查看完整回答
反对 回复 2016-12-27
?
閞始慬孒

TA贡献2条经验 获得超0个赞


C语言语法忘得差不多了

查看完整回答
反对 回复 2016-12-27
?
他们都说我宅

TA贡献1条经验 获得超0个赞

total函数的sum初值应为零

查看完整回答
反对 回复 2016-12-27
?
望远

TA贡献1017条经验 获得超1032个赞

还有就是你这里主函数冒泡排序内层循环i的初值不应该是0吗?
查看完整回答
反对 回复 2016-12-27
?
Devil10

TA贡献2条经验 获得超0个赞

不好意思,我也是个渣!

查看完整回答
反对 回复 2016-12-27
  • 5 回答
  • 0 关注
  • 1518 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信