我是C ++的新手,对变量类型及其对不同操作的影响感到困惑。我有一个简单的代码,我尝试做一些操作,但输出不是我期望的值。我很感激任何关于我可能做错的评论 - 我认为这与我定义我的变量(全局/本地)及其类型的方式有关。谢谢你的支持。
#include <iostream>
#include <fstream>
#include <set>
#include <vector>
#include <cmath>
#include <cstdlib>
#include <sstream>
#include <numeric>
using namespace std;
void save_output()
{
const int npart=1;
vector<double>sx_1(npart);
double col1;
FILE * sortie;
ifstream m1("input.txt");
string l1;
int c1=0;
while (getline(m1,l1)){
c1++;
istringstream ss(l1);
ss>>col1;
sx_1[c1]=col1;
}
const double e1=0.005;
double SX_1=0;
SX_1=accumulate(sx_1.begin(),sx_1.end(),0);
double d1_1=0;
d1_1=(1/npart)*SX_1/e1;
sortie = fopen("output", "a");
fprintf(sortie,"%.2f", d1_1);
fclose(sortie);
}
int main()
{
save_output();
}