У меня есть число с плавающей точкой в c ++, и число может быть в разных формах, например 355,5 или 9,9 (это ввод тестового кода).
У меня есть функция, которая
float return_max(angle_set_t *angles)
{
float val;
float max;
max= angles->key;
while( angles != NULL )
{
val= angles->key;
if(max<=val)
{
max=val;
}
angles = angles->right;
}
return max;
}
max
может быть значением с плавающей запятой. Я хочу округлить значение до одного десятичного знака.
Мне нужно общее решение, чтобы оно работало для 355.555555 и 9.999999
float first_aset()
{
//do somethig
result=return_max();
return result;
}
void main()
{
if( first_aset(S, 357.0, 20.0 ) != 9.9 ||
first_aset(T, 357.0, 20.0 ) != 9.9 )
{
printf("Error in wrap-around interval (3)\n");
printf(" first in interval [357, 20) in S is %f, should be 9.9\n",
first_aset(S, 357.0, 20.0 ) );
printf(" first in interval [357, 20) in T is %f, should be 9.9\n",
first_aset(T, 357.0, 20.0 ) );
}
}
здесь проблема ... результат:
Ошибка в интервале обтекания (3)
первый в интервале [357, 20) в S равен 9,900000, должен быть 9,9
первый в интервале [357, 20) в Т равен 9,900000, должен быть 9,9