C语言求任意个数的平均数

要用if结构,要使输入的数在0到100之间,且输入任意个数后,输入-1结束,求这任意个数的平均数。帮帮忙啊!

第1个回答  2011-04-01
#include<stdio.h>
void main()
{
float i=0,n,s=0;
while(1) //判断条件始终为真,即一直循环输入整数
{
printf("请输入0-100之间任意一个数:");
scanf("%d",&n);
if(n==-1) break; // if 语句判断若输入数为-1则跳出循环,结束输入。
else s+=n,i++;
}
printf("输入的数的平均值为:%f",s/i);
}

其实还可以用goto语句实现,但是该语句一般不提倡使用。
第2个回答  推荐于2016-12-01
//下面的程序经测试是符合你要求的。
#include <stdio.h>
int main()
{
int a,i=0;
float avg=0.0;
scanf("%d",&a);
if (a==-1) return 0;
while(1)
{
avg+=a;
i++;
scanf("%d",&a);
if (a==-1) break;
}
printf("avg=%f\n",avg/i);
return 0;
}本回答被提问者采纳
第3个回答  2011-04-01
完全符合你的要求,并且成功通过编译,并成功运行:
使输入的数在0到100之间,且输入任意个数后,输入-1结束

#include <stdio.h>

int main()
{
double i,sum=0.0;
int cnt=0;
while(scanf("%lf",&i),i!=-1)
{
if(i<0 || i>100) continue;
sum+=i;
cnt++;
}
sum/=cnt;
printf("%.2lf\n",sum);
return 0;
}
第4个回答  2011-04-01
#include "stdio.h"
void main()
{float sum=0;int a,i=1;
while(1)
{scanf("%d",&a);
if (a!=-1) {sum+=a;i++;}
else break;

}

printf("%d",sum/i);
}