gpt4 book ai didi

c++ - 程序正在读取太多的小数点

转载 作者:行者123 更新时间:2023-11-30 00:36:45 25 4
gpt4 key购买 nike

我正在尝试阅读 3 个花车。我尝试使用 float 和 double 来执行此操作,但两者的行为相同。

输入示例:

3 1 2
32.0 54.7 -2

第一行3个整数,第二行3个 float :

我的阅读方式:

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.054.7-2。我知道我可以使用 %.x 指定要打印的小数位数,但我需要打印输入中给我的小数位数。

此外,还有那些 while (true) 循环,因为我不知道我会得到多少个数字。

最佳答案

普通浮点类型无法满足您的需求。如果要打印与输入具有相同小数位数的数字,则必须:

  • 将输入读取为字符串。
  • 自己解析并保存小数位数。
  • 再次打印时使用它。

关于c++ - 程序正在读取太多的小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15187701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com