#include"stdio.h"
#include"stdlib.h"
main()
{int i,j,s=0,max,min,a[10];
float ave=0;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(j=0;j<10;j++)
{
for(i=0;i<10-j;i++)
if(a[i]>max)max=a[i];
else if(a[i]<min)min=a[i];
s+=a[i];
}
ave=s/10.0;
printf("max=%d,min=%d,ave=%.2f",max,min,ave);
}
为什么算出来的s总是少加了第一项??求解答

判断十个数的最大值最小值与平均数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- A-Chin 2022-04-19 21:39关注
这里面没必要双重循环
#include"stdio.h" #include"stdlib.h" int main() { int i,j,s=0,max,min,a[10]; float ave=0; for(i=0;i<10;i++) scanf("%d",&a[i]); max=min=a[0]; for(i=0;i<10;i++) { if(a[i]>max)max=a[i]; if(a[i]<min)min=a[i]; s+=a[i]; } ave=s/10.0; printf("max=%d,min=%d,ave=%.2f",max,min,ave); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录