C语言编程题哈 等待高手详解

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:45:01
求 输入N 个数的平均值,
并且要以-1为结束标志.
答案 详细哦

有浮点数的精度问题 重新写楼上的代码修改如下:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int n=0;
float i=0.0,s=0.0;
while(1)
{
scanf("%f", &i);
//接受一个F型i不一定就是-1,可能有尾数
if((i<-1+0.000001)&&(i>-1-0.000001))
break;
s+=i;
n++;
}
if(n!=0)
printf("%f",s/n); //控制除数不为0,考虑用户直接输入-1的情况
else printf("0.0");
}

main()
{
int n,i=0,s=0,t;
scanf("请输入N:%d",n);
while(i<n)
{
scanf(%d,t);
s=s+t;
}
s=s/n;
printf(s);

}

一直输入,直到遇到-1,自动结束,计算平均值。
其实不用考虑精度问题,因为输入为绝对的-1。就停止。
不是-1左右一点点的数。
我试过了,没有精度问题,不知道你怎么得出的结论?
#include<stdio.h>
void main()
{
int number=0;
float s=0,t;
do{
scanf("%f",&t);
if(t==-1.0f) break;
s=s+t;
number++;
}while(true);
if(number!=0) s=s/number;