在寻找所有答案后,我仍然无法找到解决我的代码。
变量需要是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;
}