#include <stdio.h>
void main()
{
int num,max=0,min=0;
float aver,total=0,a=0;
printf("输入学生体重,以负数或零结束:");
for(scanf("%d",&num);num>0;a++)
{
total+=num;
if(num>max) max=num;
else if(min<num) min=num;
scanf("%d",&num);
}
aver=total/a;
printf("最重%dkg\n",max);
printf("最轻%dkg\n",min);
printf("平均体重是%.0fkg\n",aver);
}
运行结果:
输入学生体重,以负数或零结束:50 60 70 0
最重70kg
最轻0kg
平均体重是60kg
Press any key to continue
这种题目用while比较好
你代码的问题是min初始值不能设置为0,这样min肯定一直是0的。要设初始值为100
#include <stdio.h>
int main()
{
float score,min = 100,max = 0,total = 0,num = 0;
printf("输入学生体重,以负数或零结束:");
scanf("%f",&score);
while(score > 0)
{
num++;
total += score;
if(max < score)
max = score;
if(min > score)
min = score;
scanf("%f",&score);
}
printf("最重%.0fkg\n",max);
printf("最轻%.0fkg\n",min);
printf("平均体重是%.0fkg\n",total/num);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!