在寻找所有答案后,我仍然可以找到我的代码的解决方案。
变量需要是INT类型,但在一种情况下我需要打印十进制解决方案。我已经尝试过铸造,但仍然没有工作。
array<int, 6> ca{ 38,38,40,38,40,37 };
cout << count(ca.begin(), ca.end(), 40) << '\n';
int c_style_array[] = { 38,38,40,38,40,37 };
cout << count(std::begin(c_style_array), std::end(c_style_array), 40) << '\n';
输出:
#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
Still Division = 14.00
任何提示将不胜感激。 提前谢谢!
答案 0 :(得分:1)
这是因为您创建了十进制变量作为int,并且您尝试将其作为浮点数打印。
将变量创建为浮点数,或将其打印为int,但不能将它们混合使用。
此外,将一个int转换为float只会添加“.00”,您将无法修改它。
答案 1 :(得分:0)
变量&#34;十进制&#34;如果声明为整数,则无法正确表示除法的结果。您需要将其声明为浮点数,如下所示:
int main()
{
...
int differenz, result, division, rest;
float decimal;
...
printf("Division = %.2f\n", decimal);
return 0;
}