gpt4 book ai didi

c - 输出始终为 +ve 值,而不是浮点值的 -ve

转载 作者:行者123 更新时间:2023-11-30 18:43:24 28 4
gpt4 key购买 nike

我不知道之前是否有人问过这个问题,但这是我的:如果我有以下代码;总计的值(value)是多少?因为输出总是+ve值而不是-ve,或者请指导我哪里错了。谢谢。P.S: 我正在使用 Turbo C 3.o 编译器。

void subtract (void)
{
float f1;
float f2=0.0;
float f3=0.0;
float total;
printf("Enter numbers to be subtract:'q' to quit.\n ");
while (scanf("%f",&f1)==1)
{
f3=f1+f2;
total=f3-f1;
printf("Enter another # to be subtract:'q' to quit.\n ");
scanf("%1.0f",&f1);
}
printf("Subtraction Total = %1.0f",total);
getch();
}

//我现在使用简单的减法,如 3.6-9.2,我没有得到 -5.6,而是得到 9(例如)

我通过执行以下操作完成了我想要的事情;谢谢大家

void subtract (void)
{
float f1;
float f2;
int status1,status2;
float total;

printf("Enter first number to subtract:'n' to quit.\n ");
status1=scanf("%f",&f1);
printf("Enter second number to be subtract from first:'n' to quit.\n ");
status2=scanf("%f",&f2);
while (status1==1 && status2==1)
{

total = f1 - f2;
printf("total=%1.2f \n",total);
printf("Enter first number to subtract:'n' to quit.\n ");
status1=scanf("%f",&f1);
printf("Enter second number to be subtract from first:'q' to quit.\n ");
status2=scanf("%f",&f2);
}
printf("Subtraction Total = %1.1f",total);
getch();
}

最佳答案

问题太多,无法一一列举。不过,这里有一些可以帮助您入门的内容:

  1. f2 永远不会设置为除零以外的任何值。
  2. 每个循环迭代调用 scanf() 两次,两次都尝试读取同一个变量。
  3. 每次循环迭代都会覆盖前一次迭代的结果。
  4. 您可能想要调整最终 printf() 中使用的格式说明符。

关于c - 输出始终为 +ve 值,而不是浮点值的 -ve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8999754/

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