为什么这段代码输入2、3.1、3.1,输出的结果是0啊qwq
#include
using namespace std;
int main()
{
int n;
double a,x,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%f",&x);
sum+=x;
}
a=sum/(double)n;
printf("%.4lf",a);
return 0;
}
你输入的时候为什么要带顿号,全部改为空格
而且你最开始用cin,后面为什么要改成scanf,你还用cin就不用管到底用什么字符分隔了,它会自动帮你处理
你用scanf,那么输入的时候就必须跟定义的格式一致
%f改为%lf
a=sum/(double)n;改成a=(double)sum/n;
教给你个方法吧,cout。
没错 就是输出,你把所有可能为0 的数 都打印一遍,看看哪里有问题,这样对你代码的提高很有帮助!