打印浮点型int变量



在寻找所有答案后,我仍然无法找到解决我的代码。

变量需要是INT类型,但在一个情况下,我需要打印十进制解决方案。我试过铸造,仍然没有工作。

#include<stdio.h>
int main()
{
  int sum = 6;
  int product = 24;
  int differenz, result, division, rest, decimal;
  differenz = ++product - sum++;
  result = differenz * sum;
  division = result / 9;
  rest = result % 9;
  decimal = result / 9.0; 
  printf("Result = %dn", result);
  printf("Integer division = %dn", division);
  printf("Remainder = %dn", rest);
  printf("Division = %.2fn", (float) decimal);

  return 0;
}
输出:

Result = 133
Integer division = 14
Remainder = 7
Division = 14.00 <-- Here I am supposed to print 14.76

我也试过了:

float b = (float) decimal;
printf("Division = %.2fn", b);

Still Division = 14.00

任何提示将不胜感激。提前感谢!

这是因为您将变量decimal创建为int类型,而您试图将其打印为float类型。

要么将变量创建为浮点型,要么将其打印为int型,但不能将两者混合使用。

同样,将整型转换为浮点型只会添加"。,你不能修改

变量"decimal"如果声明为整数,则不能正确表示除法的结果。您需要像这样将其声明为浮点数:

int main()
{
  ...
  int differenz, result, division, rest;
  float decimal;
  ...
  printf("Division = %.2fn", decimal);
  return 0;
}

最新更新