m0_68001706 2022-04-19 21:27 采纳率: 66.7%
浏览 33
已结题

判断十个数的最大值最小值与平均数

#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总是少加了第一项??求解答

  • 写回答

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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 已采纳回答 4月30日
  • 创建了问题 4月19日