【发布时间】:2016-11-10 15:57:25
【问题描述】:
在寻找所有答案后,我仍然无法为我的代码找到解决方案。
变量需要是 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 = %d\n", result);
printf("Integer division = %d\n", division);
printf("Remainder = %d\n", rest);
printf("Division = %.2f\n", (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 = %.2f\n", b);
除法 = 14.00
任何提示将不胜感激。 提前致谢!
【问题讨论】:
-
“变量需要是 INT 类型”。好吧,那你就完蛋了。 int 不能存储浮点值。
-
这里
division = result / 9;是一个整数除法,因此结果也是一个整数。Variables needs to be type INT, but in one case I need to print decimal solution-- 使用 int 变量是不可能的。如果int能够表示浮点数,我们根本不需要浮点数。 -
如果您的任务是仅使用整数显示十进制值,则需要引入缩放。
-
一个 integer 变量存储 integer 值,而不是浮点值。这个问题非常明显,可以在调试器中使用单步执行并观察变量。
标签: c floating-point int