我的代码不返回双值z,而只返回1,为什么?
#include <iostream>
#include <fstream>
using namespace std;
double road(int s, int v, int max )
{
double t;
t = (s/v);
return t;
}
int main()
{
int s[2]={0};
int v[2]={0};
int max;
double z; // result of function
ifstream fd;
fd.open("u1.txt");
fd >> max;
for (int i = 0; i < 2; i++)
{
fd >> s[i] >> v[i];
z = road( s[i], v[i], max );
cout << z << " ";
}
fd.close();
return 0;
}
答案 0 :(得分:0)
尝试更改您的方法,如
double road(int s, int v, int max )
{
double t;
t = (s/(double)v);
return t;
}
int / int将产生一个整数。所以你需要将分子或分母转换为double。