数组c++中的有理数



我想在数组中输入分数,但不知道应该使用哪种数据类型来制作这个数组,以便在需要时在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] ;

最新更新