问题描述
- C++ 多个数据求和如何计算呢,比如30个数据求和
- 请教下大家:
我需要对A1,A2,A3...A30这30个数求和,但这样求和结果却不对
double =A1+A2+...A30
解决方案
double 类型数据不能直接判断是否等于0.
一般这么判断:
#include
if( fabs(Dlg.m_strX1)<0.0001 && fabs(Dlg.m_stru1)<0.0001 ) A1=0;
else A1=1;
解决方案二:
double 类型数据不能直接判断是否等于0.
一般这么判断:
#include <math.n>if( fabs(Dlg.m_strX1)<0.0001 && fabs(Dlg.m_stru1)<0.0001 ) A1=0;else A1=1;
解决方案三:
#include <math.h>
解决方案四:
double 数值在计算机内存里用二进制去表示,肯定有产生误差,所以一般都是fabs,楼上正解着~
解决方案五:
把你的代码贴出来看看。
要定义一个变量。
double re;
re=A1+A2+...A30;
解决方案六:
谢谢指教,代码如下:
double A1A2A3...A30;
if (Dlg.m_strX1 == 0 && Dlg.m_stru1 == 0) //m_strX1 、m_stru1为MFC对话框中输入的值,定义为double
{
A1 = 0;//计数用
}
else
{
A1 = 1;
}
//--------------------------------------
if (Dlg.m_strX2 == 0 && Dlg.m_stru2 == 0)
{
A2 = 0;
else { A2=1; } ... ... if (Dlg.m_strX30 == 0 && Dlg.m_stru30 == 0) { A30 = 0; } else { A30 = 1; } double jisuansum=A1+A2+A3+...A30;
解决方案七:
当输入小数时计算出错,输入整数时则结果正确!
解决方案八:
30个数,怎么不用数组?
double A[30];
你不贴全了,也不知道你错哪里了。你怎么判断不对的?
编译通过了?
解决方案九:
可以用数组的吧……double A【50】
解决方案十:
非常感谢ysuwood及大家的指教,我是兴趣爱好者,为了工作方便有时会自己折腾下,谢谢大家!按照ysuwood的方法初试了3组数据ok,明天再全部重新修改后试试。