我尝试使用赋值运算符并且它有效..但是这没有运行...
int n;
printf("Enter a 4 digit number\n");
scanf("%d", &n);
float i;
i = (((n + 8)/3)%5)*5;
printf("%f\n", i);
答案 0 :(得分:0)
公式中的所有值都是整数。所以使用整数运算。
这意味着如果你将11除以3,你就得到3,因为整数没有小数。这将贯穿你的整个公式。
您可以将n转换为浮动,如下所示:((float)n+8)...
或者你可以只使用浮点文字n+8.0f
来计算caluclation的一部分。这样就可以使用浮点算术。
但是你得到了模数的问题,因为它没有为浮点定义。
因此,如果你想进行正确的除法,你需要在float中得到结果,但是因为modulo需要整数,所以这是不可能的。因此,如果没有进一步的澄清,你要么得到一个错误的"结果,因为你使用整数算术或你有模数的问题。