我想在数组中输入分数,但不知道应该使用哪种数据类型来制作这个数组,以便在需要时在c++中以分数形式返回数字
Float numbers [5]={7/6,1/6,5/66,1/42,1/30,4389/698} ; cout << numbers[3] ;
输出将为0,应该为0.238,那么我应该怎么做才能使其为0.238?
int/int=>int
float a = 1 / 42;
cout << a << endl;//0
float/int=>浮动
float A = static_cast<float>(1) / 42; // OR A = 1.0/42;
cout << A << endl;// 0.238
您可以:
float numbers[6] = { 7.0 / 6 , 1.0 / 6, 5.0 / 66 ,1.0 / 42, 1.0 / 30,4389.0 / 698 };
cout << numbers[3];
你能分享一下你的环境吗?操作系统/编译类型/版本
在我的环境中,
float numbers [6]={5.5,4.7,2.8,1.6,9.3,8.2} ; std::cout << numbers[3] << std::endl;
输出为1.6。并且应该是1.6。
顺便说一句,这个数组中有6个项目,所以大小应该是6而不是5。
如果您希望输出为1.6:,那么这段代码运行得非常好
float numbers[]= {5.5,4.7,2.8,1.6,9.3,8.2} ;
cout << numbers[3] ;