/*用户输入一串正整数,以-1结束输入,计算并输出平均数及用户输入了多少个数字
*/
#include
int main()
{
int n,count=0,sum=0;
while(n!=-1)
{
scanf("%d",&n);
count++;
sum+=n;
}
printf("%f\n",sum*1.0/count);
printf("%d",count);
return 0;
}
这段程序运行起来为什么还会把最后输入的-1读进去呢,该怎么改进呢?
加一个条件判断,当等于-1,就break,不执行
#include <stdio.h>
int main()
{
int n, count = 0, sum = 0;
while (n != -1)
{
scanf("%d", &n);
if (n == -1)
break;
else
{
count++;
sum += n;
}
}
printf("%f\n", sum * 1.0 / count);
printf("%d", count);
return 0;
}
int main()
{
int n,count=0,sum=0;
scanf("%d",&n);
while(n!=-1)
{
count++;
sum+=n;
scanf("%d",&n);
}
printf("%f\n",sum*1.0/count);
printf("%d",count);
return 0;