我正在尝试读取 3 个浮点数。我试图用浮点数和双打来做到这一点,但我对两者的行为相同。
输入示例:
3 1 2
32.0 54.7 -2
第一行 3 个整数,第二行 3 个浮点数:
我的阅读方式:
vector<int> order;
vector<double> numbers;
unsigned int order_number;
double number;
char input_character;
while (true)
{
scanf("%d", &order_number);
order.push_back(order_number);
scanf("%c", &input_character);
if (input_character == ' ')
continue;
else
break;
}
while (true)
{
scanf("%lf", &number);
numbers.push_back(number);
scanf("%c", &input_character);
if (input_character == ' ')
continue;
else
break;
}
printf("%d %d %d\n", order[0], order[1], order[2]);
printf("%lf %lf %lf\n", numbers[0], numbers[1], numbers[2]);
打印它们时,我得到:
32.000000 54.700000 -2.000000
我只想要32.0
,54.7
和-2
. 我知道我可以指定要打印多少个小数位%.x
,但我需要打印输入中给我的尽可能多的小数位。
此外,那些while (true)
循环在那里是因为我不知道我会得到多少个数字。