此代码按预期工作,从这10个输入字段中获取数字。现在,我希望它们全部加在一起。 (所有miTimesFrac结果。)任何真正有效的方法吗?
double fraction[10] = {methane, ethane, propane, nbutane, ibutane,npentane,ipentane,nhexane,nitrogen,oxygen};
double Mi[10] = {16.0426,30.064,44.0962,558.123,558.123,72.1498,72.1498,86.1766,28.0134,31.9988};
double miTimesFrac[10];
for (int i=0; i<10; ++i) miTimesFrac[i] = Mi[i] * fraction[i];
我尝试了一些事情,比如这个
double TMiTimesFrac;
for (int i=1; i<10; ++i) TMiTimesFrac = miTimesFrac[i]+miTimesFrac[i-1];
每次返回相同的值。我缺少的任何功能?
答案 0 :(得分:0)
这:
double TMiTimesFrac;
for (int i=1; i<10; ++i)
TMiTimesFrac = miTimesFrac[i]+miTimesFrac[i-1];
不执行此任务,因为您没有跟踪TMiTimesFrac的所有先前值,因此只有最后一个值(miTimesFrac [9] + miTimesFrac [8])对TMiTimesFrac的最终值有贡献。
首先将TMiTimesFrac初始化为零。然后将每个值添加到它:
double TMiTimesFrac= 0.0;
for(unsigned int i=0; i<10; i++)
{
TMiTimesFrac+=miTimesFrac[i];
}
现在你应该能够在不粘贴代码的情况下完成它。我建议尝试一下。